{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import requests\n",
    " \n",
    "ensembl_server = 'http://rest.ensembl.org'\n",
    "\n",
    "def do_request(server, service, *args, **kwargs):\n",
    "    url_params = ''\n",
    "    for a in args:\n",
    "        if a is not None:\n",
    "            url_params += '/' + a\n",
    "    req = requests.get('%s/%s%s' % (server, service, url_params),\n",
    "                       params=kwargs,\n",
    "                       headers={'Content-Type': 'application/json'})\n",
    " \n",
    "    if not req.ok:\n",
    "        req.raise_for_status()\n",
    "    return req.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 saccharomyces_cerevisiae\n",
      "1 mus_pahari\n",
      "2 taeniopygia_guttata\n",
      "3 otolemur_garnettii\n",
      "4 erinaceus_europaeus\n",
      "5 anolis_carolinensis\n",
      "6 gadus_morhua\n",
      "7 capra_hircus\n",
      "8 chlorocebus_sabaeus\n",
      "9 colobus_angolensis_palliatus\n",
      "10 tursiops_truncatus\n",
      "11 mus_musculus\n",
      "12 bos_taurus\n",
      "13 monodelphis_domestica\n",
      "14 caenorhabditis_elegans\n",
      "15 pteropus_vampyrus\n",
      "16 microcebus_murinus\n",
      "17 mandrillus_leucophaeus\n",
      "18 ovis_aries\n",
      "19 carlito_syrichta\n",
      "20 mus_musculus_akrj\n",
      "21 fukomys_damarensis\n",
      "22 pelodiscus_sinensis\n",
      "23 astyanax_mexicanus\n",
      "24 mus_musculus_aj\n",
      "25 peromyscus_maniculatus_bairdii\n",
      "26 ficedula_albicollis\n",
      "27 rhinopithecus_roxellana\n",
      "28 cricetulus_griseus_chok1gshd\n",
      "29 cavia_aperea\n",
      "30 dipodomys_ordii\n",
      "31 lepisosteus_oculatus\n",
      "32 anas_platyrhynchos\n",
      "33 canis_familiaris\n",
      "34 callithrix_jacchus\n",
      "35 pongo_abelii\n",
      "36 mustela_putorius_furo\n",
      "37 mus_musculus_c57bl6nj\n",
      "38 xenopus_tropicalis\n",
      "39 nannospalax_galili\n",
      "40 mus_musculus_pwkphj\n",
      "41 aotus_nancymaae\n",
      "42 mus_musculus_nzohlltj\n",
      "43 mus_musculus_129s1svimj\n",
      "44 mus_musculus_cbaj\n",
      "45 cavia_porcellus\n",
      "46 ochotona_princeps\n",
      "47 pan_troglodytes\n",
      "48 petromyzon_marinus\n",
      "49 pan_paniscus\n",
      "50 mus_musculus_c3hhej\n",
      "51 procavia_capensis\n",
      "52 oryzias_latipes\n",
      "53 rhinopithecus_bieti\n",
      "54 danio_rerio\n",
      "55 gallus_gallus\n",
      "56 tupaia_belangeri\n",
      "57 saimiri_boliviensis_boliviensis\n",
      "58 ciona_intestinalis\n",
      "59 poecilia_formosa\n",
      "60 ciona_savignyi\n",
      "61 myotis_lucifugus\n",
      "62 sorex_araneus\n",
      "63 mesocricetus_auratus\n",
      "64 dasypus_novemcinctus\n",
      "65 mus_caroli\n",
      "66 mus_musculus_wsbeij\n",
      "67 choloepus_hoffmanni\n",
      "68 heterocephalus_glaber_female\n",
      "69 jaculus_jaculus\n",
      "70 cricetulus_griseus_crigri\n",
      "71 sus_scrofa\n",
      "72 rattus_norvegicus\n",
      "73 microtus_ochrogaster\n",
      "74 sarcophilus_harrisii\n",
      "75 papio_anubis\n",
      "76 macaca_fascicularis\n",
      "77 equus_caballus\n",
      "78 xiphophorus_maculatus\n",
      "79 macaca_mulatta\n",
      "80 mus_musculus_balbcj\n",
      "81 macaca_nemestrina\n",
      "82 mus_musculus_dba2j\n",
      "83 latimeria_chalumnae\n",
      "84 mus_musculus_nodshiltj\n",
      "85 mus_spretus\n",
      "86 gasterosteus_aculeatus\n",
      "87 gorilla_gorilla\n",
      "88 oryctolagus_cuniculus\n",
      "89 oreochromis_niloticus\n",
      "90 echinops_telfairi\n",
      "91 nomascus_leucogenys\n",
      "92 homo_sapiens\n",
      "93 mus_musculus_casteij\n",
      "94 ornithorhynchus_anatinus\n",
      "95 tetraodon_nigroviridis\n",
      "96 cercocebus_atys\n",
      "97 vicugna_pacos\n",
      "98 meleagris_gallopavo\n",
      "99 mus_musculus_fvbnj\n",
      "100 ictidomys_tridecemlineatus\n",
      "101 octodon_degus\n",
      "102 takifugu_rubripes\n",
      "103 cebus_capucinus\n",
      "104 ailuropoda_melanoleuca\n",
      "105 chinchilla_lanigera\n",
      "106 felis_catus\n",
      "107 heterocephalus_glaber_male\n",
      "108 mus_musculus_lpj\n",
      "109 loxodonta_africana\n",
      "110 drosophila_melanogaster\n",
      "111 notamacropus_eugenii\n",
      "112 propithecus_coquereli\n"
     ]
    }
   ],
   "source": [
    "answer = do_request(ensembl_server, 'info/species')\n",
    "for i, sp in enumerate(answer['species']):\n",
    "    print(i, sp['name'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[{'name': 'HGNC', 'release': '1', 'description': None, 'display_name': 'HGNC Symbol'}, {'name': 'HGNC_trans_name', 'release': '1', 'description': 'transcript name from HGNC', 'display_name': 'HGNC transcript name'}]\n"
     ]
    }
   ],
   "source": [
    "ext_dbs = do_request(ensembl_server, 'info/external_dbs', 'homo_sapiens', filter='HGNC%')\n",
    "print(ext_dbs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'source': 'ensembl_havana', 'object_type': 'Gene', 'logic_name': 'ensembl_havana_gene', 'version': 9, 'species': 'homo_sapiens', 'description': 'lactase [Source:HGNC Symbol;Acc:HGNC:6530]', 'display_name': 'LCT', 'assembly_name': 'GRCh38', 'biotype': 'protein_coding', 'end': 135837180, 'seq_region_name': '2', 'db_type': 'core', 'strand': -1, 'id': 'ENSG00000115850', 'start': 135787840}\n"
     ]
    }
   ],
   "source": [
    "answer = do_request(ensembl_server, 'lookup/symbol', 'homo_sapiens', 'LCT')\n",
    "print(answer)\n",
    "lct_id = answer['id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'desc': 'chromosome:GRCh38:2:135787840:135837180:-1', 'query': 'ENSG00000115850', 'id': 'ENSG00000115850', 'seq': 'GTTCCTAGAAAATGGAGCTGTCTTGGCATGTAGTCTTTATTGCCCTGCTAAGTTTTTCATGCTGGGGGTCAGACTGGGAGTCTGATAGAAATTTCATTTCCACCGCTGGTCCTCTAACCAATGACTTGCTGCACAACCTGAGTGGTCTCCTGGGAGACCAGAGTTCTAACTTTGTAGCAGGGGACAAAGACATGTATGTTTGTCACCAGCCACTGCCCACTTTCCTGCCAGAATACTTCAGCAGTCTCCATGCCAGTCAGATCACCCATTATAAGGTATTTCTGTCATGGGCACAGCTCCTCCCAGCAGGAAGCACCCAGAATCCAGACGAGAAAACAGTGCAGTGCTACCGGCGACTCCTCAAGGCCCTCAAGACTGCACGGCTTCAGCCCATGGTCATCCTGCACCACCAGACCCTCCCTGCCAGCACCCTCCGGAGAACCGAAGCCTTTGCTGACCTCTTCGCCGACTATGCCACATTCGCCTTCCACTCCTTCGGGGACCTAGTTGGGATCTGGTTCACCTTCAGTGACTTGGAGGAAGTGATCAAGGAGCTTCCCCACCAGGAATCAAGAGCGTCACAACTCCAGACCCTCAGTGATGCCCACAGAAAAGCCTATGAGATTTACCACGAAAGCTATGCTTTTCAGGGTGAGTACACATTGACCTGATGGTGACCCCTCGGCAACCTTCATCACACACCTTCCCCATCCTCCTTAGAGCAGATTCGACATTTCTCCCAACTCACCTTCAGCAGTCCTCTTATGTCTGTGCATAGGGAGAAATTAATATTGTAAATTGATTTCCCACTGGCGATAGGAAGGGGTAGCTAACATGGCAAAACACTCAGCATTTCCTTTGAAAAATATCTTTGAGGCTCACGCCTGTAATCCTAGCACTTTGGGAGGCCGAGGTGGGCGGATCACTTGAAGTCAGGAGTTCGAGACCAGCCTGGCCAATATGGCAAAACCCCGTCTCTACTAAAAATACCAAAATTAGCCAGGGATGGTAGCAGGCGCCTGTGATCCCAGCTACTCGGGAGGCTTAGGCAGGAGAATTGCTTGAACCCAGGAGGCAGATGTTGCAGTGAGCCGAAATCATGCCACTGTACTACAGCCTGTGCGACAGAGCAAGACACAATCTCAAAAAAAAAAAATATGTATACATATATATATATATATATATATATATATATATATATATACACACATGTATTTTTGAAATACCCCTTGCCCAGTCTTGAGTTGTGCAAGCACTGATTGTCTTTCTGTCTTCCTTTCCGTCTATGTCCTGCTACCCTGACTTGGAGGCAAAGTTTCGTGGTTTCCTGTCCTTCCCCCTCGGCTCCCCTATACTTACATGTCTTAGTTGGAGCTTACATTGCAGCTTGGGAGACAGACAAATACAAGATGAAACAATTATATATCACAGGATGAGGAGAGCACAACTGTAACTGTTCACATTCCTGCCTCCTAGGGGACTTGAAGTTCTGATCTGTAGGCCTAGGCTGAACCAGGACATTTGTGATTATAATCAATTCCCTAAGTGTATGTTAGGTACACCAATTTTGAGAATCAATTTTGGATTATATATGCTTTCTTGTTTTTATTATATACCATATACATACATATTTGTATATATAGTACCTGATATATATATATATATATATATATATATATATATATATATATATATATACTTCTATGTTCTACTTTTTCATTTTAACATAGTTTATGACTATATTCTCATTTTATTAAAAACTTGAGCCAGGCATGGTGGCTCATGCCTATAATCCCAGCACGTTAGGAGGCCAAGGCAGGGGGATTGCTTGAGGCCAGGAGTTGGAGACCAGCCTGGGCAACATAGAGAGCCACTATCTCTAAAATAATATAATAATTTACTCCAGTGCTGGAATAGTATTGCTTAAAACAAAAGAAAAACTTGAAAGCATAACTTTCAATGGTCTTTTAGGTTCCCATTGTATAAATGGAGCATAAAGTTTAAGGTATTTTCCTTATTTTTGTATGTTTATTCTAATTTTCACTAGTTACAAGTTATGTTGCAATGACATTCCTATCTATAAACTATTTCCCACCTTCTGATAAATTCTTTCTGACAGAATCTTAGAATTGAAACTACTAGGTGAAAAGATCTGCATTCTTTAAGATTTTAAAGCATGGTACTAAATTATTTTCCAGAAAAGTTGTAATCATTTATACGAACAGTTATAAAATTACTCTCTGACCCCATTCTGTCAGTTTCAAATGCTATATTTTATTACTAATTTGACAGCTGAAAACAGCTTATTTTCATGTCTTGTTAATTTGCATGTATTTGATTATAGAGACGTTAAACATTTTTTTCTTCTTCTTTTTTTTTTTTTTTTTTTTTTTGAGATGGAGTCTCACTCTTTTGTCCAGGCTGGAGTGCAGTGGTGTGATCTCGGCTCACTGCAACCTCTGCCTCCCGAGTTCAAGCAATTCTCCTGCCTCAGCCTTCCCAGTAGCTGGGATTACAGGCACGCACCACCACATCTGGCTAATTTTTGTATTTTTAGTAGAGATGGGGTTTCACCGTGTTGGCCAGGCTGGACTCAAACTTCTGATCTCAGGTGATCCGCCCGCCTCGGACTCCCAAAATGCTGGGATTACAGGCGTGAGCCACCACGCCCGGCCTTAAACAAAAAAATAAAATAAGGCCAGGCGTGGTGGTTCACGCTTGTAATCCCAGCACTTTGGGAGGCTGAGGCAGGCGGGTCACAAGGTCAGAAGATCGAGACCATCCTGGCTAACACGGTGAAACCCCATCTCTACTAAAAATACAAAAAATTAGCGAGGCGTGGTAGCACGTGTCTGTAGTCCCAGCTACTCAGGAGGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGCGGAGGTTGCAGTGAGCCGAGACTGCGCCATTGCACTCCAGCCTGGGCGACAGAGCGAGACTCTGTCTCAAAAATAAATGAAAAATAAACTAGGACATCATAGCTGCCTTATTCACAATAGCCAAAAGGTGGAAGCAACCCAGATATCCACTGATGGATGAATGGATAAACGAGACGTGGCATAGACATAAAATGGAATATTACTCCACATTTATTAAAAAGGGAAGAAATCATCACATGCTACAACATGGATGAACCTTGAGGACATTATGCTATGTGAAATAAGCCAGACACAAAAAGACAAACGCTGTATGATTCCATGTATAGGAGGAAACTAGAGCAGTCGAATTCATGGAGAGAGGAAGGAGAATGGCAGAGGCCAGGGGCTGGGGTAGGGGAGAAATGGAGAGCTCTTTAATGGGAGTAGAATTTCTGTTCAGAAAAATGAAAAAGTTCTGGAGATTGGTTGCACAACAATGTGAATATACTTAATAATACTGAACTGTGCACTTAAAAATAGTTAAGATGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAACACTTTGGGAGGCCAAGGCGGGCAGATCATGAGGTCAGGAGATCGAGACCATCCTGGCTAACCCGGTGCAACTCCGTCTCTACCAAAAATGCAAAAAATTAGCCGGGCGTGGTGGCGGGCCCCTGTAGTCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATGGCGTGAACGCGGGAGGCGGAGCTTTCAGTGAGCCGAGATGGCACGACTGCACTCCAGCCTGGGCGACGGAGCGAGACTCCGTCTCAAAAAAAAAAAAAAAAAAAAAAAGAAGTTTAGGAAGGAGTTCTCTCCTTGCCAACTCTCCAACTGCTCTGCATTTCATAGTCCTGATTTTCACAAAACACTCTCTAAAGGAACATTATTTTTTTAAGCCACCTTGTCTTCTAAAATCTTTCAGCTAGAGTAAAGTCATTTGGATGATTTCTTCAGGTCCATAGGAAATGAATCCCCCAGTGGTTTCCACAGTCAGAGCCTCCTGCCCTCGCTCACCTGCTGTTCGTGTCTCTGGTTGGTTTCAGGCGGAAAACTCTCTGTTGTCCTGCGAGCTGAAGATATCCCGGAGCTCCTGCTAGAACCACCCATATCTGCGCTTGCCCAGGTGACAGCAGCCCAAAAATATACCTGTAACATCTGAGGAGAGTTTGATTTTAATTTTTTAAAAACAAGAGAAGTTTTGGTCTATTGGTTTGACATTTCTGTAAATGCCTCAGAATGAGTGGTGTATGTTCTCCAGGTTCATAATTACCTTAAAAACAAAATCTTGAAGCTGCAGCTCCTGCTTGGTCAAGTGTCAGCTTCCCTGCAGGAAGAAGCCACTTGCCTCTGCTGGCTCTGATTTTTGAGTCCAAAATAGCTTATAGGATAAGAGATGAGATTATGGCAAAACAGGTACTAGGGTAAAGGGGTTTTTCAAAAATGTGCACCTGGCCAAACACGGTGGCTCACTTCTGTAATCCCAGCACTTTGGGAGGCGGAGATGGGAGGGTTGTTTGAGCCAGGAGTTTGAGACCAGCCTGGGCAACATGGCAAAACTCCTTCTTTGCTAAAAATACAAAAATTAGCAAGGCATGGTGATGCATGCCTGTAGTTCCAGCTGCTCGGGAGGATGAGGTGGGAGGATTGCTTGAGCCCTGGAGGTCAAGGCTGCAGTGAACTGTGATCATGTCACTGCACTCCAGCCTGGGTGACACAGCAAGACCCTGTCTTGAAAAAAAAAAATTAAAAATGTACGTATATCCTCTATCACTTTTTATTTTTTATTTTTATTTATTTATTTTTTTACAGACAGGGTCTTGTGGCCTTGCTCTGTCACCCAGGCCAGAGTGCAGTGGCATGATCACAGCTCACTGCAGCCTCTACTTCCAACTCCTGGCCTTGAGCAATCCTCCCACCTCAGCCTCCCAAAGTGTCAGGATTACAGGCATGAGCCACCACACCCAGCCAACTATCACTTTTTAACTATAATTTATATTTTTTATTTTATTTTTTTTTTGAGATGGAGTTTCATTCTTGTTGCCCAGGCTGGAGTGCAGTGGCACGATCTCGGCTCACTGCAACCTCTACACCCTGGATTCAAGTGATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGATTACAGGTGTGCACCACCACGCCCGGCTAATTTTGTATTTTTAGTAGAGATGGGGTTTCACCATGTTGGTCAGGCTTGTCTCAAACTCCTGACCTCAGGTAATCCACCTGCCTCGGCCTCCCAAAGTGCTGGAATTACAGGCTTGAGCCACCACGCCAGCCTTTAACTATAATTTTTAAAAGAAAAATTAAAATAATCTGGGAAGTGAACAGCTTTGGGCCCCCTTGGGCAGCTGGGCAGTCTGGAAGCCATGGGAACCACCGCCGGTCTCCGTAGTTCTGCAGCATCGCCCTGGTGCTGTAGAGATGTTGTGCTGCTCATTGGCGTCTGTGCGTTGATGGGGGCCCCAGGAGTCAGGGTCTGGTCTTCAGATTTTCCATTTCAAACACGATGGAACCAAGACTGATAAGGTTCTGGAGGGACAACTCCCAGGCTGATTGCACGGCCAGAATGGCACCTAAATTAGTTTACAGAGGGCGATAACTGCTATCAGTTATGAACGCAGGAGACCAAAGTGCTGATCAGAAAAATGCTTGTCGAGAAATAGCCTTTGTACTGGTCTATCTGCCCCAGTCCATGCTGTGAAATGCTTCTGGGTCATCTCCCAAAAGCACAGTTCTGACCAGTTACCTGCTGGGAAGCCACACTTCCGAGTGGGACGAATCCCACAGGACCCTCCAGTGCATGAACGTGTGGGCCTCTCTCTCTGTCTCTCTCTGGCCTCACCTCCTATTTTGTCCATGTGAGTGCTATGCTTGCTTCCTACCCTCCTGCATCCCCTACTGGACGTCCTTCCTGTCTTCCTGCCTTCCTCAAATCTCCTTCCAGCAAAATTTTCTCCATTGTTAATGTACACGTAACTGTGCTCTCCAGCTGAGGCCTCGCTCAGTAACACTCCCTCACTCACCCTGATGCACTCTGTCCCCACCCGGACCCTTAGCCATTGCTTTAGACCAGTGGTTCCCAAGCTTGAGTGGGCATCAGAACCACCTAGAGAGCTAGGAGAGAGCACGGAGACCAAGACTTAATGTGGTGGGACCCACCTGGGCCTGCACAGGCATCCGAAGTCCCCAGGTGAGTCTAATCCCCAGCAAGGCATGAGAACCACTGGTGTGGGCTTCTTACAGCACTTCTAAATTTCTGTCTTCTCCTCGTGTGATTGGTGCATTTGCTAACCCTCCCTATTAAAGGTGTAAACCTCTGTGGATATTATTTATCTCTAAATGTGAATCCCTACCCACCATCCCCACACAGTGTGACTTTCAGAGGTAGGAACTCAGTGACGATGTGTTGTGCAGAACTGACAGACATAAGGAAGAGCTGCGAGAGTGGGCAGGGAATGCTGGAGTGATACCTGCCAGTGTGGTCTTTAGTGAACACTGATGACAACTTGACTGAGAAAGAAACAGGGAGCCAGTAGTGAACCACTTATTAACCCATTTATGCCTGAGGCTGCAATTTTTTGAACTTTTGCAATCAGACCTTAGCGAAGACCTTGAGCAGTAGGATATAAGTAACTTCCACAGGCTTAGCATTCCCATAATGGAACACTAGGCATTCACAGAGCACTTGGTTCTGACCAGGTGACAGTAACCATTAGTCCTTGTCTTGAAGAAGCAGATGATCAGTGGGAGGGATAAGACAGGTAATGATCTAATCAGGCCAAGGGTAGACAGGTACGGCCAGCCAGGCTCGTGGAGGGGAGCGCAGCACTGGGGGTGTTGGCATGGTCCTGTGTAGACTCTGTGAATCTGAAGTTCTTTGAGCACATGCAGGCCAGAGACAGGGCAGAGGGGACATCCTCATCAGAAGTGTGGATGGGGGTGTCGACGACCAGGACCATGAGGGTTGTCTCTGCTAAAGAGGAAGTCCCCAGTGCGTACTCCACAGGCCCTAGCTCTTGGCCTGGCTAGGGATAACTGGGGGTGGACTTCAAACGGTGGCCTGAAATTTAAACCAAAACCAAACACCCGGTAGGATTCACAGGGATGACTGTGGAGCCATGCGTGGCTGAAGGCTCCACCACCCCCATCCTGGCCAAATGTGAGGGTCTATGGAGGAAGCACCAGGGGCAGCACTGGCCTCTAACTGCCTCCCATTTCTGGCATACACACTCCTTCACGCATTCATTTAGCCATCAACACTGCGTGCTTTCTGTGTGCTGAGCACAGAGGCGCATGGATGAGCACATAGGTGATGCATTCCCAACAACATACAGGCACAGGCACCCCCCGCCCCCTACACACACACACACACACACACACACTTTCTCATTCCATCTCCATCTTTTCCTTTGGAAAATCCTGCTTTGGAATATTTGGTTTAGTGATAAGGGGAGAAACAAAAAAGCGTACTTCTGAGAGGCTGTTAGTCTTGACAGTGCTTAGGTTCTAATGACCCTATTTAACTACTATTTTCAGGACACGGTCGATTTCCTCTCTCTTGATTTGTCTTATGAATGCCAAAATGAGGCAAGTCTGCGGCAGAAGCTGAGTAAATTGCAGGTAATTTGAGCCCTTTTCCACATTAATGATGAATGCAGCGAAGGTTTCAGAGAGCAGATTAGACATTTAATGCTTTGGCTACTGCATAAACTGAACTTCCATCAACAGCAGAGACCGGCTGAGTTGTGTCTGGGGAGATTTCCATTGCAAGCATCCCTAGAGAACATCGGATGTTAGGCAGTCTTTCCTAGAAGGGATACAAGGGTTAGCTTGTTAAGGTGAATATTTACATAGATCCTCTGCTTGCTTGTGTAGAAATCTGCCGAGAATTGAGATTCTGGGGTTCATTCTGAGTTTTAAAAAGGCAACTCATCAATGGGGGTGATGGTTCCATAACGATAAGCGTCCACTTAACACCACTGAACTATACATTTAATGGTTATGATGGTAATTTTTTTTTTTGAGATGGAGTCTTCCTCGGTTGCCCAGGCTGGGGTGCAGTGGCGTGATCTTGGCTCACTGCAGCCTCCACCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCTCCAGTAGCTGAGATGACAGGAACACACAAACACGCCTGGCTAATTTTTGTATTTTTGGTAGAGGCAAGGATTCACCATGTTGGTCACGTTGGTCTCAAACTCCTGACCTAAAGTGATCCGCCCACCTTGGCCTCCCAAAGTGTTGGGATTACAGGCGTGAGCCACCACACCTGGCCTGTAAATTTCTTCTTTATGTCTATTTTACCACATTTTTAAAAAAACAAACATTTCACACCCAGGTCTACTAAATCAGATCCCAGCTGTCTGGACCTTCCAGTAAGCTCAGTACTCCCTCCTGTACCCAGTACTGCTTTTCTCAAGTCTAATGATGCGGGCTCATTAGAGAAAGTGTGTTAGGAGCCTCCTATCCAACTACCAGGTTTCTCTCTTAGGCTTGGTCACTGCTGTGTGACTTACTTGCTTCATTCCCTGGAGTCCCAACTATTCTCCTGTGACAAGGTCTATCTGATGGTGCCCACGTTTTCTCCTGCACCTTCCGAGTGCTGGCAGTATTCCTATAACCCTGGAGAGCTGCCTTCCTGTGGGCCTTTCCAAGGATGTCTGGCCACTGGTATGCACCCACATTGGACCCCCTGCCTCTTCAGGTTTGGGCACAAAACCACTCCCCGCTGCTTTCAGCCTGTGCCTCCCATGAGGGAGGCAGAGCAGCCCCCTACACTCACCTGTGGTTTTGAATCCCACCATCTCCGTCACCAAGGAGGATGGTTTACCTGAGGAATTATCCCTTTAAAGGCCAAGTTTGGCTAGGCACAGTGGCTCATGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGTGGGTGGATCATGAGATCAAGAGATTAAGACCATCCTGGCCAACATGGCAAAAACCCATCTCTACTAAAAATACAAAAATTAGATGGGTGTGGTGGCACGCACCTGTAGTCTCAGCTACTTGGGAGGTGGAGGCAGGAGAATCACTTGAACCTGGGAGGCGGAGGTTGCAGCGAGCCAAGATTTCGCCACTGCACTCCAGCCTGGTGACAGAGCGAGACTCCATCTCAAAAATAAAAATAAAAATAAAAGGCCAAGCTCAGGAATGTCAAACTGAGCTTCAGCTACATGGACCCTCCATTTTACCTGAGGCAGAGTGCTTGAAATGGACAAATTAGCACCAGTCCTATCCCAATGTCTGTGTGTTTCTAGCTGTCTGTGTAGTAGACACTGCTGCTTTTGTTATCTACAAATAATAAGATGATCTAATTTAGGGGTCCCCAGCCCCCAGGCGGAGCACCAGTACTGGTCCATGGCCTGTTAGGAACCTGGCTGCACAGCAGGAGGTGAGTGGCAGGCGAGCAAGCATTACCACCTGAGTTCCACCTCCTGTCAGATCAGCGACCATATTAGATAGGAGCACAAACCCTATTGTGAACTGCGCATGCGAGGGATCCAGGTTGCGTGCTCCTTATGAGAATCAAATGCCTGATAATCTGAGGTGGAACAATTTCATCCCCAAATCATCCCCATCATCCCCCCTACCTCCCCCAAGTCTGTGGAAAAATTGTCTTCCACGAAACCGGTCCCTGGTGCCAAGAATGTTGGGGACCACTGATCTAATCAAAGGTGACAGATGCAGCCACAAAGACATCTGAGTAACAGCTATTTTAGTGCTTGCTTATCCCAGACACCTGGGAGGCACTTCATTCTCACATCATCTCAACCTCTCAAAACACACCCTAAGGTTTAAACAATTTAACCAAGGTGGTGAGCTCCAGGGTTGGGATTTGAACTAGGGCTTTCTCATTCTAAGACACCACACTGTCTTTTCAAAAGAAAAATAAGTCTCACATCTGTAATCCCAGCACTTTGGGAGGTTGAGGCAGGCGGATCACTTGAGGCCAGGAGTTCAAGACCAGCCTGCCCAACATGGCGAAACCCCGTCTCTACTAAAAATACAAAAATTAACCAAGTATAGTGGCACGAACCTGTAATCCCAGCTCCTTGGGAGGCTGAGGCACAACAATCGCTTGAACCCGGGAGGTGGAGGTTGCAGTGAGCCGAGATGGCGCCACTGCACTCCAGCCCAGGGGACAGAGAGAGACTTGTCTCAAAAAAAAATAAAGAAAAAGAAAAAGAAGTCCAAGGGTTTGGAACATGATAATGAGGGTGGTATTTTTTAAATCACATATGATCAGTTTCAGTTGTTTTTGTGAATGCCTCACCTGAACCTAAACTTGCTTGCTGCCCAGGGCCTGTGCTTGCGGGCTGGCTGACAAGGTTTCTGGGCCTTACGTAACACTCTAGGGTCTTCGAGGTCTGCTTGTGCCTGTGATGACTAAAGCTGCCTTTTGTCCTCCTCATGGAATTAAACCAGAGCTTGTTGCTAGGCTAATGGGTTCAGACAAAGCTGCCATTTTAAAACCATCTCTGTTGTGCGGAGGTGGCGTGCCTCTGACAGGCAGCAGAGGCACTGCATGGCTGGTACTTGAGGATGTGATTTTCAGTCTCTTCCCTTTTTCCATCACAACATTTTTTTTTTAAGATGGAGTCTCGCTCTGTCACCCAGGCTGGAGTGCCCCGTGGCATGATCTCGGCTCACTGCAACCTGCACCTCTGGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGACTACAGGTGCCCGCCACCATGCCTAGCTTTTTTTTTTTTTTTTTGTATTTGTAGCAGATACAGTGTTTCACCATGTTGGCTAGGCTGGTCTCGAACTCCTGGCCTCAAGTGATCCACCACCCCCCTCGACCTCCTAAAGTGCTGAGATTACAGGCATGAGCCACTGCACCTGGCTACCACATTTTCAAGACACTTCTACCAGTGTCTGGGTAAAGCACTGAAACTTCAGTCTGTAGCTGGCCAGCCAAATAGTAAAACTCTCCCTGGACAAACTTAGCAGCCATTTATAAATGTTCTGCAATGGTTATCTATTCCTTTTACTTCCTTGGGTAGGGTTGGCCCCTCAGAGGCAGCCTCAAAGATTCGGAAATGACAGCTGACAACCCCTGAGCTGGAGAGCACACTGTTCCTTCCTGGGATTGTGGTCTCATGCCTGGTAGCATTTCCCATGCACAGTTACCACACCCAGGACAGGGAGAACAGCTGAGCCTGCCCTGAGAACAGGGGCTGAGTTGTGTCCACAGGAGCCTGAATCGTGCTGCCCACCTTCCCAGTGTCCCCTCCCTCCCTGTCCTGGAACCCCACCCTCCCCTTGAAGGGGCCTCTTCCTGTGGGCTGCGAGGGAAGAGGGCGAAAGCAGGGCAGGGAGGAGCAGGCACCTGCCCCCATTCCCACCCTCTCCCCGGAGCACCTGCACAGCCCTCTCTGAGCCTCAGGGGCCCTCAGCGGCCACTCCCCAACGGCACACAGCTGTCTGAGGGCCTGAGAACAGCCTCAAGCCCAGAAATGAAGAGCTGCGGCACACTCCAGGGTTCTCGGTTCTGCAGGAGGCACACGAGGAGGTCCCCCATCCACTTATCAGAAAAAGCTGTGCTCCCAGGGAGTTCTCCGCTTGGCAGAAGACAGGCTGGGGGCCTCCGAGGCTCCTCTAGCTCTCCAGCCCTGGGACATCACCGGCTGCCTCATGGCATATCCGTCTTTCAGGAAGGAGAAAACCCTTGCTTCCCTAAGCACGCCACCCTGGGTCATTTGTCCCCACTGCATTGACCCAGCACAGGGAGGGATGAGGACTGTGTGGAGTCACAGCTCCACTAACTGCGCAGTCATGGGCAACCCGCTCGGCCTCTCGAGCTTCTGACTCCCCATCTGTAAAGAAAGTCACAGGTGGCTATGAGAAAGTAAAGACTATGCCTGGCTCCTTTTAAAGTGGTTACTATTGGTATCTTTTGGTAGCTTTTAGTTGCTCAGAGGAGGAAAAAGTTACTGTGAGTAAAATGACCAAACTCCAAGCCCCGCAAAAAAGGTAATTTAAAGTGAAGTCAAACAGCATGTCAGCCCTGAGACGTTTTCCTTGATACTGAAATGGCTAGAAATAAGAAGAGGAAATTACATTTGCTTCCATTTTAATGATAACAGCTAATATAACTTTTCTTTTTCTTTTTTTTTTTTTTTTTGAGATGGAGCCTGGCTCTTGTTGCCCAGACTGAAGTGCAGCGGTTCACTGCAACCTCTGCCTCTTGAGTTCGAGCGATTCTCCTGTCTCAGCCTCCCAAGTAGCTGATATTACAGGCGTGCACCACCAAGCCCAGCTAATTTTTGTATTTTTGATAAAGACAGGGTTTCACCATGTTGATCAGGCTGGTCTCAAACTCCTGACCTCAGGTGATCCGCCCGCCTCAACTTCCCAAAGTGCTGGGATTATAGGCGTGAGCCACCACACCCGCTGGGCTGCTGTAACTTTTTGTTTTGGAAAATTTCTAACATCCAAAAGTAAAAAGAATGATGAACCCCTACGAAGCCATCTCCAGCTGCAAGAGCTATTATTGGCTCATAGCTAATCTTCTTTCACCTAACCTATAACTTCTATCTCCCAAACTAGATTTTTAATTAAAAAAAATTTTTTTTAGAGACAGGATCTTGCTCTGTCACCCAGGCTGGAGTGCAGTGGTGCAATCATAGCTCACTGCAGCCTTAAACTCCTGGGCTCAAGCGATCCTCCTGGCTCAGCCTCCCAAGTAGCTGGAACTACAGGCATGCACCACCACACCCAGCTAACCAAACTGGATTATTTTGAAGCAAATCCCAGACATCCATAGATGGTGGCCTCTTAACTAAGCTTCTTAAGTAGCACAGGCTCTGGATGTGAGCAGTGGCCTTGTTCCTGATCCTAACACCGTGCCTGGCTCTAAGAGGTGCCCTGTAAGCCTGTGATGAAAGAAGAGGTGAAGGTGGGGGTTGGTGGGGAGGGTAGACTATGTTATTGAAAATTGTAGATCTTTCTCCTTCAGAGTCTAGAGTTGACTCCTTTAATTAACTGAGATACTTAGAGGTCATTTCCAAAGCCAGAGTAAGTGCCACAGCTTCTCATCTTGAAACTCTGTCCCTGTTATCAAGATGCTTTCCAGGAGGCTTCAGTTCACTTGCTGGTCCTTCTCTTTTTCAGACCATTGAGCCAAAAGTGAAAGTTTTCATCTTCAACCTAAAACTCCCAGACTGCCCCTCCACCATGAAGAACCCAGCCAGTCTGCTCTTCAGCCTTTTTGAAGGTGAGTGGGCCATTGCTGAAGAGGTTTTGAGTGACATCTGGTGCACTGGTGTGCTAGGTAGCAGTCTTGAAAGTCCGGGGTTCCAATGGGAGGAGGAGCATGGGAGGAAGACTAGTATAAAAGCCCACCCCAGACTGGGTTAGTGTACTATGCCTTCCTACTGATGGTCCCTTGCAACCATCCCCCATTGACCCAAGAAAGAGGAGAGGTTCGACACAAGGATGCCTCTTATGGACATAAAGATAGTTAGGCCTCAGCTGTGAGTTGTAAGCATGGAAAATCATCTTTGCCTCCTTTTATTACCTCTCCCTCCAAGGTCTCTCATCTCTGCTCCTCTTGGCAGGGCTTTCCTCTGCCCGTCTCTCTCCAGCCAGCCCTCTCCACTTACCCTTGTTCCATGTCCCCATTATCTCAGTTTGCACATGGCCCTGGTGGGTACCTGACCAAGATGCTAAGAACTTTCAAGTGTAGGACTCACAGCTCAAGGGCCATCTTCCTAGTGTCTCTTAGTTCAAATTCTTGAAAGTGAATCTGATTGTTGGCCATGGATCAGGAGGCTGCTTCTGGTCCAATCAAGTCAGGGGAAAGGTGGGGTCTATGATAGCATTGAGGCTGGCAGTCACTGGAGACTCTGCAAGAAGGGAGGAAGGGGCAGAGAGGAATGTGCCTGAGGGCCCTGATATTCACTCTTGTCTGTCTGTCACTCTTGTCCATAGGCCAGAGTATGGGAGAAGTCAGTAGTGTTCTTTCTACCACTGTGTCTTAGTCTGTCTTGTGTTGCTATAATAGAATACTCTAGACTGCGTAATTTATAGAGAAAAAAGGTTTATTTAGCTCATGGTTCTGGGGACTGGGAAGTTCAAGATCAGGCAGCCACATCTGGTCAGCTTCTGGTGAGGGCCTCATGCTGCATCCTAACCTGGCAGAGAAGTGGAAGGGGAAGGAAGTGCCTGCAAACAGATAAAACACCAGAAGCAGCCTCACTTTATAACAACCACTGTATGGTAACTAATCCAGTCCCACTAGAATGGGAACTCACTCACTCCCTGGAGACTGCACTAATCCCTGAAGGCGGATCCCTCATGACCCAAATGCCTCTTAAAAGTCCATAACCTCTCAATAATGTTACACTGGCAATTAAATTTCAACATGAGTTTTTGTAGGGACAAACCACATCCAAACCATAGCACACCTGGACCCCATCCCAGCAATGGGTTGGCTCCACAGGGCCCCTGAAGTTTATCCATAGATACCATTTAATAATGCTTATCTGAACTCACCTTTGATGGCATAACAATTTCTGTTCTTAGATCCCACCTCTCTCTAAGTGGTTAAAATTGTACCTTTTCTGTTTATGCGTATTTTACCACAATTTTAAAAATATTCCACCCCTTTCTGATCTTTGAGTTCTTCTAAATCAATTGTTCCCAAAGTTGTGGTCCCCAGACCAGCAGCATCAACATTAGCATCACCTGGGAGCTCATTAGAAATGCATATTCTTGAGCCCTACTTGAGACCTACTGCATCAGACACTCTTGGGGTGGGACCAGCAACCTGTGTTTTAACAAGCTCTACAGATGATTTTGATTCACCTTGAAGTTTGAGAACCACTTTTAAGTAATAAGTAAGTAGAATTCACTTCTAAGCTTTTAAAGTCGTTAGCCCATGGTATTTTCCAAAGGGGCTTGGAACCACTGCTTGGAGTTTGGGTGTGTCGTATGAGCGAGGAAAACTGTTGATTTCAGACTTGCATGTTCTTAGTTGGCATTTACATAGAGTTAATTCAATTTCTTCTCTTACAGCCATAAATAAAGACCAAGTGCTCACCATTGGGTTTGATATTAATGAGTTTCTGAGTTGTTCATCAAGTTCCAAGAAAAGGTAATGTCAGGTTGCCTATTGAACTATCAATAACTGATATTTGTAGAATACTCTGTTTCTTTTACATGTATAATCTTATAGGACTGTTGTCATCAACTCTTGGGCCACCAAGTTGTTTATTGCCATTCAATTGATGAGAAACAAAGACTCAGAAAGAAAGTAGGGAGTCTCTTACTGAGTGGGACTCACGAGGTTCTGCTTTCTCATCTGTCAGTTCGCCCAACTGTGCGCAACTAGCATGATGGCTCACACCTGTAATCCCAGCACTCTGGTAGGCAAAGGTGGGAAGATTGCTTGAGTCCAGGAGTTCAAGACTGGGCTGGGCAACATGGTGAAACTCTGTCTCTACAAAAAATTACAAAAATACAAAAATTAGCCAGGCATAGTGGTGCATGCCTATGGTCCCAGCTACTTGGGAGACTGAGGTCAGAGGATCGCTTGAGCCCAGGAGGCAGAAGGTGCTGTGAGCCGAGATTGTGCCACTGCACCAGCTAGGATTTGAACTCCTGCCTTCTAGTTTAAGATCTTGCTGGAGACAGTGTGAGCTTGTGGAAGAGTGGCCAGGTTAAAGATAGATCTGACCATCCCACTGAAGTTACATGATGAGTAAGAGAAATGGGTTCTCTGTGCCCATTTCCTCAATATGAAGGGTGAAACATCCTCCCTGGAAGGAGACAGCATAGACAGGAAAGCCAGCTGTTGCTGCAAGCCAGATGCCTAACTTGACAACATTCTAGGGACAGAGGTTTGAATCTATGGTGGGGTTGTAAATAATATCTTACTGAGTGACTCAAGTGCCAAAGTTTGCAAATGATATGCTTTAAAAAATTAGAGCAGATTGCCGGGCACGGTGGCTCACGCCTGTAATCCCAGAACTTTGGGAGGCTGAGGCGGGTGGATCACGAGGTCAGGAGATCGAGACCATCCTGGCTAACACAGTGAAACCCCGTCTCTACTAAAAATACAAAAAAATTAGCCGGGCATGGTGGCGGGCGCCTGTATTCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATGGTGTGAACCCTGGAGGCAGAGCTTGCAGTGAGCTGAGATCGCGCCATTGCACTCCAGCCTGGGTGATGGAGCGAGACTCCATCTCCAAAAAAAAAAAAAATTAGAGCAGGTTTTGAGGTTGTGCCCATAATTACATTGCTTTCATGCACGCATATCCCAATACGCTCTTGAGTGAATGAGAAAAGAATGGCATGGTAGCCAGCACTGGGAATTGCCCAGAACCTCAGCGCTCCTGGAGGGATGTTACATGCATGAAGTTCATGCACCATCCCTTAGGGTGGGACAAAAGCTGGAGACAATAATTGACTTCCAGACCTTCAACTAGAGTTCTCTTTGTCACTCACCTCTGATATTTCCAGTGCAGCCCTGTTCAGGGTCATTCAGTGCCAACACCTCTTTGTACCTTTCCTCTTCCAGTACTTGACTGTCCTGAGCCATATCCTCCTTCTATTGTTCCATCCTCTCAATCCACTTCAAATCAGCAGTTCAGATCAACAGACCCGCAGCAGCAGCTGTACCTCAGGCTTTGTGTGGCAGTGTAGACTTGCAATAGACAGACATGGGTTACCACTGCTTCCTGACCACACTTGGAGTCAGCCAAGAAGGACTGGCTGTGGCTTCACAAAAGAAAACTCAAGAAGCCGTAATAAAATGGGTTCCCTGAAAAGCCAGTGATTACAAGTGACACCAGCTCGGAGATTCTCTCAGCGCTTGGTGGTGCTTTGCCTGAAGGGGAGGGCCAACACAGGCTTACATTAAACGGACAGCCAGGGGCCCCTACTCAGGAGGATGTGGTTGGAGAACCCGCTGAATGCAGGGGCGGTGGGTGGGGAGTGATTCAGAAATGACTAACGTAGTTTTCTCCTTCAGAATTCTAGACCTTATAGGGGAGACAGAGCGGCCCCTGAACAACTCTCACATGAGAATGTGGCAGGAGACACACAGCACTGCACCCTAAAAAAGGGAGAACTTAGGAGCCCTGGGTGTGGAGCCTGAGGTGCCGTCATGTGCTAAATCCCTCTCCATGGCCGGCAAACCCAGGGTTCCCAGCTCCAAGCCTGTACAGCAAGTTCTGTTTCATCCCAGGGCAGTTTATTTGTTTCCTTAAAACTCTTCATGCAATCCAGGAGGACAGTCAGGGCCAGGAGGGCTGGGTAAGAGCGAGGTTCGGAGCAGCGGACGCTGTGTTTATGGGCACCGTGGATACGCAGAGGCTGAGCACCGAGGGGACGCGACACATCCCCAGCTGCGATCCACAGTCGCATATGTTTTGGGATCATCTACGAAGGAAAGGATCATTTCCCTTTCCCCCTAATCTAGCAAATGTCAGGGAGTTGATGCTGAGTGAAACAGAAGGCTCTTAGGTTCGGAAGACGCCTCCTGCTGGGTGACCCGGCCCCAGGCTTCGCTTTTTGAGAGGAAGATCCCTGTGCAGTGTTCCTGTCACTTCTCCCAGTTCTGCGCTGTGGGCCAGCCTGGTATAGGTGCCATCGGCTCTCCACACGATGGCTGTGTGACAGGGAGATGCTCTTGTACTCCACGTCCTTTTCCCCAGGCATGTGCCACACTCCTCAAGGCCGACCTCTGCTGGCTGTAATTTGCAGCATGCATGCTTTCCTGCCTGCATGACATGACTCAATTTAGAAGTTGGCAATCACAATTGAAAAAAAAGAAAGAAAAAAGAGGAAAGGAGAGTGGGAGGGAGGAAAATGGACTAGAATAAAATAGAAAAATCAGACCACATTTTGTATAAATGCAGCATGCACTTTTATGTGATGTTTTATTTCATATGCATATACATATGTACATGCATATACATGCACATAAACATGTATGTGTATGAGGTTAAAAGCACAGAATCTGCTCCACCACCTGCAAGCTGTGTGCAAGGAGAAGTTACTCATAATCACCAGGAATCCAGGCTCCTTTGTTGTTGCTTTGTCACCTTTAACAAGGTTTCTACCTCATGGTTCAGGATGGATGCTTGAGCTCCTGCCATTATGTCAGAAATCCAAGCAGCATGAAGAAAGGAAGCAGTAGCCAGGACTGATATTCAACTGGTCCACATCAGTGTACTTCTGTACCAGCTGATAAATAGCTGCTGGCTCCCTGAAATCAGGAAGTTTTCCATTTCTTTTTCTTTTTTTAGACGGAGTTTCACTCTTGTTGCCCAGGCTGGAGTGCAATGGCGTGATCTCAGCTCACCACAACCTCTGCCTCCCGGGTTCAAGTGATTCTCCTGCTTCAGCCTCCTGAGTAGCTGGGATTACAGGCCCCCACCACCACGCCTGGCTAATTTTGTATTTTTAGTAGAGACGGGGTTTCCCCATGTTGGTCAGTCTGGTCTCGAACTTCTGACCTCGTGATCCACCTGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCATGAGCCACCACACCCAGCCCCCGTTTCTTTTAGTCTCAGTTTCCTCCTGTGTAGGATGAGGATAAATCATTGTAGTACCCATCTCATAAATTTGTTGGGAAAATTAAATGAGATAATACACATCCATTCTTATTACAGTGGCCAGCGCAGAATCAAGGCTCAATAAATTGGAGTCATTGTTATTATTAGCTATGTTTTACAAATAATGAATTATAAGAAGAATAAAGTATGGTACTAACACTGAAGACAATATTCAAGGGCAATCTAATACAGAGAACAGTAGCATTGTTCCTGTTTTAACCATGAAAGAGCAAGAATCACTCACCTCAGAAGGGGTAATAATAATAATTTTCCCATCTGCCAGTTACTTCCTGCCCATGGCTTTGCAGATATGACTTTTGACTCAGTGTTTCTGGAATCTTTTCTGATTAAACACAGTAGTCATCCGTAGGGGGCATTTGTAACTGCCAGCGTCATTCATTATTATGTCCCTTTTTGTCCCTTCAATCCTGCAGCATGTCTTGTTCTCTGACTGGCAGCCTGGCCCTTCAGCCTGACCAGCAGCAGGACCACGAGACCACGGACTCCTCTCCTGCCTCTGCCTATCAGAGAATCTGGGAAGCATTTGCCAATCAGTCCAGGGCGGAAAGGGATGCCTTCCTGCAGGATACTTTCCCTGAAGGCTTCCTCTGGGGTGCCTCCACAGGAGCCTTTAACGTGGAAGGAGGCTGGGCCGAGGGTGGGAGAGGGGTGAGCATCTGGGATCCACGCAGGCCCCTGAACACCACTGAGGGCCAAGCGACGCTGGAGGTGGCCAGCGACAGTTACCACAAGGTAGCCTCTGACGTCGCCCTGCTTTGCGGCCTCCGGGCTCAGGTGTACAAGTTCTCCATCTCCTGGTCCCGGATCTTCCCCATGGGGCACGGGAGCAGCCCCAGCCTCCCAGGCGTTGCCTACTACAACAAGCTGATTGACAGGCTACAGGATGCGGGCATCGAGCCCATGGCCACGCTGTTCCACTGGGACCTGCCTCAGGCCCTGCAGGATCATGGTGGATGGCAGAATGAGAGCGTGGTGGATGCCTTCCTGGACTATGCGGCCTTCTGCTTCTCCACATTTGGGGACCGTGTGAAGCTGTGGGTGACCTTCCATGAGCCGTGGGTGATGAGCTACGCAGGCTATGGCACCGGCCAGCACCCTCCCGGCATCTCTGACCCAGGAGTGGCCTCTTTTAAGGTACTTCCCAACCCTGCAGCTCCTACTAATTGGAGGAGAAAGGACATTGGCTGGAAGAAAGTCATTTTCTCTGTTTTCTTCCATCAGCAAGCCTTTACTTTTTGTTCTTTCTTTAAAGGAAATCGGGGAGGGAAGGAACCATAAATTGTTAATTAAATTGTTAATCACCTGGCCAGGTGCAGTGGCTCATGCCAGTAATCTCTTCACTGTGGGAGGCCAAGGCAGGCAGATTTCTTGAGTCCAGGAGTTCGAGACCAGACTGGGCAACATGGCGAAATCTTGTCTCTGCAAAAAAAATACAAAAATTAGCTGGGCATAGTGTTGCACGCCTGTGATCCCACCTACCCAGGAGACTGAGGTGGGAGGATCGCTTGAGCCTGGTATGCAGAGGCTGCAGTGAGCCAAGATTTTGCCACTGCACTCCAGCCTGGTCAACAGAGCAAGACCCTGTCTCAAAAAAAAAAAAAAATTGTTAATCACCTTATTTTGTCCAGACCCTCTACTGGTACTTTTAAAATATAATAGTTATTACATACTCAGAATAGCACTGATGGATGAGTGAGGCTCAGACAGGATAAACAATGTGGTCATGATGACATTGCTAGTGAGTAGCCAGGTGGAAGTCAGGATTTGAGTCCGAGTCTTCTTGACTCCAAATCAAGTTCCTCATGTCAGTGACAAGTGACAGAAAGCTCAACCCAAAGTGACTTAAGCAAGGAGAGAATTTACACATTCAGGAGGTTGAAAATTCTTCATTTAGCCTGATCAGGGTGGAATTTGATCAGAGCACAAGCGATGCCACCAGGACCCAGTTCCTCTCCTGTTCCCCTCGTTGGCTTTATTCTTGGGCTACTTTGCAGCCAGATGGCAGCAGCCCTGTTTCTGTTATTTCATGACCAGTAGGGAAAAAAGCTCGGCTCTTTTCTGTCCTTCCCAACAGAAGTGTCCCTGTGTCTCATGGTCTCTCAGTGGGTCGCATACCCACCCTGAACTCATTGCTGGGTCCTGGCCAGGAGGCTGTGACAACTGACTGGTGTGGGCCAAGGACCCATGCTTTACTCCTCAATACGCTCACTGAGAGCTGAGGAGGCAGAGAGGGAAGAGGCAAGGAGGCATTGGCTTTCCAGACGCCAGTCAGGGCATCGTTTCAACAAGAAGGGGATGTATACACTTGGCACAAAATTTTAAATGGCTATAGGTCTTTTCCATTATTTCCCTTTTTCTTCGGAATCTCCCAGAAAACCCACCAGCTTTCTTTGGCAGCGTTCTTCAGGATGGACATGTTAGTCTGCCTTTTCCCTGTCACTGTTTGGGTTCCATTCTTAAAGATGAGTATTTCCGGCCGGGCATGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCAAGGCAGGCAGATCACCTGGGAGGTCAGGAGTTCAAGACCAGCCTGGCCAACATGGTGAAATCCTGTCTCTACTAAAATACAAAAATTAGCCAGATATGTTGGTGGGTGCCTGTAATCCCATCTACTTGGGAGGCTGAGGCAAGAGAATCACTTCATCCTGGGAGGCGGAGGTTGTAGTGAGCCGAGATTATGCCACTGCACTCCAGCCTGGGCAGCCTGGGTGACAAAGCGAGACTTTCATCTCAAAAATAATAATAATAATAATAATACTATTTCCTGTGTCCCGTGCTAGGTGTTAAAGAGGGGTCACAGCCATGCCCTGGACATGTTATAACCTTTTGGGGAAGATGACACTAACACACGTAGCAAAATTACAGAACTCTTCAAAAAGACCATTACTAGGGTGAGCTGGAACATCATGAATAAATAACTCAATGAAATGTCAAACATTGTAGCACGTAAGTCAGAGTTTCCATTCAGCTCTTGAGCAGCAAGTGACTGCACATATGGAGCCATTCCACCACCCACCTTCTGAAAATGGAAGGTTTGAAATCTTCTGTTTCACTCCTTGTTGTAAAACTTATCTAAACCTTTTCTTCTTAGGCTTTTCTTCCCCTTTGAACTGTGGCTCTTGAGATATCTTTACAGAGACTTTGATGAGAAAGTCCCCTTCACTCTTCTCCTTCAATTCTTCCCTTTATTTATTAGTTCAATGTTAGAATGCCATTGTCTTAGTGAGCTTGAGCTGCAATAACAAAACACCATAGACTGGTGGTTTAAACAACAGATATTTATTTCCCAGCATTCTGGAGCTGGGGAAGTCCAAGATCAAGGGACCAGCATGTTTGGGTTCTGGTGAGGGCTCTCTTCCTGGCCTGCAGGCAGCCACCTTCTTGCTGTCCTCATATAGGGGTGGTTGGAAGAACTCACTGGTATCTTTTCTTATAAGGACACTAATACCACCACCATGAGAGTCCCACCCTCACGACCTCCTCTAAATCTAATCACCCCTCAAAGGCCCTATCTCCAAATACCATCACATTGGGGATTAGGGCTTCAACATATGAATTTTGATGGGGGAACTAATTCAGTTCATAGCAACTATTAAGGAAAAAATTTAAAGAAAAAAATGTCTTGGGCCAGGCGCGGTGGCTCACACCTGTAATCTCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACGAGATCAGGGGTTCGAGACCAGCCTGGCCAACATAGTGAAACCCTGTCTCTACTAAAAATACAAAAATTAGCCAGGCATGGTGGCGGGCACCTGTAGTCCCAGCTACTCTGGAGGATGAGGCAGGAAAATCGCTTGAACCTAGGAGGTAGAGGTTGTGGTGAGCCGAGATTGCGCCACTGCACTCCAGCCTGGTGACAGAGCGAGACTCCATCTCAAAAAAAAAAAAAAGGTATTTTATTATTTTAGAGTATTTCCTTCCAGTCTTGGCTTCTTTGCATTTATGATGTTGTCACAGGGCACCTCAGATTGTTGCTCACTGTTTACTTGATATCATGTCATTAGCACTTTTCCCTATTATTAAGCAGTTGTGATGACTGTTTTTGATGGTTGTCTAATATTCCACTGAGCTCCCTTCCTGACACTGGCTAATTTAGAAGAAAGACATCCTTGCTTTTGGGAAAGGAGCACAGTTTGCCATTCGAGTTTAGAACTCAACTAAAGACGAATATTTGGGATGTGAGAAGCAGCCAGGCGTTTTAGTGATTATGGCATATTTTGACATGAAATTCTTCAGAGGTAAGTGTCATCCTCTTCAGATGATAAAAAGGAAAAAGGAAAGCAAGCTAAGATTTAGCAAGCTCACTCCTGCTCTCTGAGTTTCTGCTCAATGCTTTATATACACGTATTTAATCATCCCAGATGGATCCATAATTACCCACTTCTTGCCAACAAGTAAGCTGAAGTTGAGAGAATAAATTGTCCAAGTTAACAAGTTAGTAACAGAGTCAAGATTTAAATCTAGGCTTGTTATATTTCAGACACCCTCCTTTTGCCCCTACTTCCCACAAAAAGCTGTTGCTGTTTGTAAGAGCATGAGTTAAGTCTACAAAGAAACTCCTAGTTTGGTTTTTCTTCCGAGATTCCATTAAATAGAAAGAAGAACAAATAAGCAAGAAAGAGCCCTCCTCTCCCTTGTGTGCTAATTAAAATAATCCTCCCCATGGACTAATTTCTCAAAAAGCACTTATTAAGGACAGAGGCAGAATAGCAGTGTGGGTAACAGTAACAGGCTTGGAATCAGACTGCCAGGGGCTTGTTCTCACTTTACTCCTGACTCTTGGCCTTGTGAAGTTACTACACAGCTCTGGATCTTGTTTTCACCATCTCTATAGTGGTGATAATAATTGTACCTGCCATATGAGGTTGTGGTGAGGATTACATGAGAGAATTCATTAAGTAGTAGGTGCCCAATATATGTTAGTTGTTATTGTTAATGTGGTTGTTGATGCTGTTATTTTGTTGACAATTTTGAAGAATTGCTGTTGACTTGTTGACTTTGTTGATGATATTGGTGTTGACTTGTTGACATTGTTGACTTGATATTGTTGACCTTTTCACATTGGTGTTCACTTGTTGATGCCGTTCATGTTGGTATTGATGTTGTTGACATCAACATCGTTGATATTATTGACTTGTTGACATTGGTTTGGATTTCTTGACATTGTTGACTTGTTGACATTGTTAGTATCAGTCTTAACTTGTTGTTTATGTTGTTAACTTGTTAACTTTATTATTGACTTGTTAACATCATTGATGTTAGTGTCAACATTGTTATTTGTTGATGACTTGATGTTAACATTAGTGCTGATGTTGTCAATATTGACAATGTCAATGTTGTTGTTGTCTTTATTGACTTGTTGACATTGTTGTTGACTTGTTATTGGTTCATTAGTCCTGTTGTTGTCATTGTTATTATTACTAATCACTGTATTTCCTTCTTACTTTTTCACAAGGTGGCTCACTTGGTCCTCAAGGCTCATGCCAGAACTTGGCACCACTACAACAGCCATCATCGCCCACAGCAGCAGGGGCACGTGGGCATTGTGCTGAACTCAGACTGGGCAGAACCCCTGTCTCCAGAGAGGCCTGAGGACCTGAGAGCCTCTGAGCGCTTCTTGCACTTCATGCTGGGCTGGTTTGCACACCCCGTCTTTGTGGATGGAGACTACCCAGCCACCCTGAGGACCCAGATCCAACAGATGAACAGACAGTGCTCCCATCCTGTGGCTCAACTCCCCGAGTTCACAGAGGCAGAGAAGCAGCTCCTGAAAGGCTCTGCTGATTTTCTGGGTCTGTCGCATTACACCTCCCGCCTCATCAGCAACGCCCCACAAAACACCTGCATCCCTAGCTATGATACCATTGGAGGCTTCTCCCAACACGTGAACCATGTGTGGCCCCAGACCTCATCCTCTTGGATTCGTGTGGTGCCCTGGGGGATAAGGAGGCTGTTGCAGTTTGTATCCCTGGAATACACAAGAGGAAAAGTTCCAATATACCTTGCCGGGAATGGCATGCCCATAGGGGAAAGTGAAAATCTCTTTGATGATTCCTTAAGAGTAGACTACTTCAATCAATATATCAATGAGGTGCTCAAGGGTAAGAACAATGGATGTGCCAGTGATTGGAAGGTGGGTGGTACTTCTCCAAGTCTTCAAAGTTTCGTTTAATAAGACAAAGAAAGTCTCCTAGAGAAATGGAGCCAAAGAAAGCATAATAGTGGGGAGTCCTTCACGTCAGCTCCCTAACTCTCTTTCCCAAGGTTCATTCATGTCATTCACGTCTTTGCTCCTGTGGTTTTTTTGTTTTATTTTGTTTTGTTTTTGAGACAGGGTCTTGCTGTGTTGCCCGCTGGAGAGCTGGAGTGCGGTGGCATAAACATCGCTCACTGCAGCCTCAAAGTCCTAAGCTCAAGCCAACCTCCCACCTCAGCCTCTTGAGTAGCTGGGACCACAGTGCAAACCACTATGCGTGGCTTATTTTTTTTTTTTTTAGACATGGGGTCTCTTCACATTGCCCAGGCTGGTCTCAAACTCCTGGGCTCAAACAGTCTTCTCACTTCAATCCTCCCAAAGTGTTGGGACTACAGGCATGAGCCACCATGCCTGACCCAGTGTCCTTATTGCCTAGAATACCTCCCTCTACATTCTGCCCATCTGAGTCCTATGCAGTCATCAAGCCTCATTATCTTTTTTTTTTTTTTTTTTTAGAATCAGGGTCTTGCTTTGTCACATAGACTGGAATAGAGTGGCATGTTCATAGCTCACTTCAGCCTCAAACTCCTAGGCTCTAGTGATCCTCCGGACTCCAACCCATTAACTCTTCCCTCATTGCTCCAGCCACACTGGTCTTCATTTCCTTTAATTGGCTATAAAATCTACATTCTATGTCATTGATTTTGATCCAATTGATCCACATCTACGGTCTCATTCTTACCTGACATACTATTTCATATGTCTTTTTATTCCAATTGGAAAGGTATGGCAAATAGATTTCATCTCACAGGTCAGTCCTCAGTTAACCCAGGATGTTCTTATCTTGAGCTCATTAACTTAATTACATCTGCAAAGATCCTTTTTCCAAATAAGGTTATATTCACTGGCACCACGGGTTAGAATTTAGACATATCTTTCGGGGGTCACCATTCAATGCACTGTATCAGGGAATATATGTTTTAGGCTTTATTTATTTATTTATTTTAATTTTAATTTTTTTAGACAGGGTCTTGCTCTGAGGAGTACACTGACCTGATCTGAGCTCACTGCAGCCTTGACCTCCTGGGCTCAAGCGATTCTCCCACCTCAGCCTCCCAAGTGGCTGGGACTACAGGTGCACACCACCACACCAGGCTAATTTTCTTTTCTTTTTTCTTTTTTTTTTTTTGAGACGGAGTCTGGCTCTGTCGCCGAGGCTGGAGTGCAGTGGCGCGATCTCAGCTCACTGCAAGCTCCGCCTCCTGGGTTCACACCATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGACTACAGGCTCCCGTCACCACGCCCGGCTAATTTTTTTGTATTTTTAGTAGAGACAGGTTTTCACCATGTTAGCCAGGATGATCTCAATCTCCTGACCTCATGATCCGCCTGCCTCAGCCTCCCAAAGTACTGGGATTACAGGCGTGAGCCACCACGCCTGGCCACATTTTTTTTTTTTTCAATAGAGACAGAGTCTGGCCATGTTGCCCAGGCTGCTTTATTTCTTTTTTAAAATATGAAATATGTTGTCACTTAATGTCAATATTACTAAACATAAACAAGGAAAAGCAAAAGCATATTGTTAAAAGATTGATTTATGTATTTTATATAAAACCAAGACACCCTGGTGGTAACACATGGGACACATCCCCTCCACTATTTATTTGAAGATGGGGATGCTCCTTTGGTTTGAGATTTATGGCCACAAAAGTGGCCTGATGTTTTGTGAGGATCTTGTGGATTTTCCTTTTATCCATTCTGAGGAGGAAAAAGGATGAACATTTGGGGGGTAACCCAAGTCACCCCCAAAACTTTCATGTCAAAAGGAACACTTTTTAAAAGCAACATTAGTAACAGAGACTATACTTCTAATTTTTCAATAAAAACTATTTTATTGAAAAACAGTCCTCGCTGGTCCGAGGTAATAACTTATCTCAGTTGACTGTTCACAACCAGTTACAGATCAAACAGCTTCTAATACCCTTCTCCCCCTTCTCACTACTGCACTGACTAGTCTTTAAAAGATAAATAAATAAAATAATGGTGCACTAGCTCACTCCTGTAGTCAGTCCCAGCTACTTGGGAGGATCACTTGAGTCCAGGAGTTTGAGACCAGCCTGGGCAATACAGTGAGACCCCATCTCAATTAAATAAATCCATAAATAAATAAATCTAATTTTTATTTTTCTTCACAGCTATCAAGGAAGACTCTGTGGATGTTCGTTCCTACATTGCTCGTTCCCTCATTGATGGCTTCGAAGGCCCTTCTGGTTACAGCCAGCGGTTTGGCCTGCACCACGTCAACTTCAGCGACAGCAGCAAGTCAAGGACTCCCAGGAAATCTGCCTACTTTTTCACTAGCATCATAGAAAAGAACGGTTTCCTCACCAAGGGGGCAAAAAGACTGCTACCACCTAATACAGTAAACCTCCCCTCCAAAGTCAGAGCCTTCACTTTTCCATCTGAGGTGCCCTCCAAGGCTAAAGTCGTTTGGGAAAAGTTCTCCAGCCAACCCAAGTTCGAAAGAGATTTGTTCTACCACGGGACGTTTCGGGATGACTTTCTGTGGGGCGTGTCCTCTTCCGCTTATCAGATTGAAGGCGCGTGGGATGCCGATGGCAAAGGCCCCAGCATCTGGGATAACTTTACCCACACACCAGGGAGCAATGTGAAAGACAATGCCACTGGAGACATCGCCTGTGACAGCTATCACCAGCTGGATGCCGATCTGAATATGCTCCGAGCTTTGAAGGTGAAGGCCTACCGCTTCTCTATCTCCTGGTCTCGGATTTTCCCAACTGGGAGAAACAGCTCTATCAACAGTCATGGGGTTGATTATTACAACAGGCTGATCAATGGCTTGGTGGCAAGCAACATCTTTCCCATGGTGACATTGTTCCATTGGGACCTGCCCCAGGCCCTCCAGGATATCGGAGGCTGGGAGAATCCTGCCTTGATTGACTTGTTTGACAGCTACGCAGACTTTTGTTTCCAGACCTTTGGTGATAGAGTCAAGTTTTGGATGACTTTTAATGAGCCCATGTACCTGGCATGGCTAGGTTATGGCTCAGGGGAATTTCCCCCAGGGGTGAAGGACCCAGGCTGGGCACCATATAGGATAGCCCACGCCGTCATCAAAGCCCATGCCAGAGTCTATCACACGTACGATGAGAAATACAGGCAGGAGCAGAAGGGGGTCATCTCGCTGAGCCTCAGTACACACTGGGCAGAGCCCAAGTCACCAGGGGTCCCCAGAGATGTGGAAGCCGCTGACCGAATGCTGCAGTTCTCCCTGGGCTGGTTTGCTCACCCCATTTTTAGAAACGGAGACTATCCTGACACCATGAAGTGGAAAGTGGGGAACAGGAGTGAACTGCAGCACTTAGCCACCTCCCGCCTGCCAAGCTTCACTGAGGAAGAGAAGAGGTTCATCAGGGCGACGGCCGACGTCTTCTGCCTCAACACGTACTACTCCAGAATCGTGCAGCACAAAACACCCAGGCTAAACCCACCCTCCTACGAAGACGACCAGGAGATGGCTGAGGAGGAGGACCCTTCGTGGCCTTCCACGGCAATGAACAGAGCTGCGCCCTGGGGGACGCGAAGGCTGCTGAACTGGATCAAGGAAGAGTATGGTGACATCCCCATTTACATCACCGAAAACGGAGTGGGGCTGACCAATCCGAACACGGAGGATACTGATAGGATATTTTACCACAAAACCTACATCAATGAGGCTTTGAAAGGTGTGTGAGGGTTCAGTTCCCCTTAAAGAAATCTTCCAACATTCCCTGGGTCATATGCCTGAAATGTTTTGCCGGGATGATTTATGAACCATCAATAGATCTCTCTCTTAGGTCCCAACTCCATAATTCTTTATCTGTTTGGGGGTTATATGTTCCTTGAGAAGCTGGGGGAAAAAAGGCTATGGTTGTCTCTGCAGAGGAAAAATACAAACACTACACACACAGGGTCCCTAGCAGAATATTCATATTGTCATGGGTCCATTCATTCATTACTGAGCAAGTTCTATTTTAGGTGCTGGGAATACAGCAATGAACAAAACACAAATTTCTGCCTTCGTAGAGCTTATCCCATGCACCCCAGAACAAGAAAGTTGTGTTAATTCAAACTTCCTTTTTTTTTTTTGAGATGGAGTCTTGCTCTGTTACCCAGGCTGGAGTGCAGTGGCCACCGTGCCCGGCTAATTTTTTTGTATTTTTGGTAGAGATGGGGTTTCACCATGTTGGCCAGGCTGGTTTCAAACTCCTGACCTCAAGTGATCCACCTGCCTTTGCCTCCCAAAGTGTTAGGATTACAGGCATGAGCCACTGTGCCCAGCCTAAAAATCAACTTTTTGTTTCATTGATTTTTTTTTTTTTGAGACAGTCTCACTCTGTTGCCCAGGCTGGAGTGCAATGGTGTGATCTCGGCTCACTGCAACCTCCATCTCCCGAGTTCAAGCAATTCTATTGCCTCAGCCTCCCCAGTAGCTAGGACTACAGATGCATTGGGCTTAACTTCCTAAGTGGGCTGAAGATCTTGAATTTGGGGCATGTTTCTTTACCCCAAGAGAAGAATTTGATTTGGAGATGATCAGTCATTAATGCTTGCTGTGGGGTCATAGGTACTGGCAGAAAAGTAAGATCAACAGATGATCTGTTGGTCTCTCAGGGTGTATGTCACTTTTAGGACCACAACCTTGAATTGAGGAGCTGGCAGTGGGTTGGGTGCATGGAGGTCCTGACTCCTGGTGTCAAGCTCTCCTCTGCTCCCTTTGGGATGTTCCCAGCCTACAGGCTCGATGGTATAGACCTTCGAGGGTATGTCGCCTGGTCTCTGATGGACAACTTTGAGTGGCTAAATGGCTACACGGTCAAGTTTGGACTGTACCATGTTGATTTCAACAACACGAACAGGCCTCGCACAGCAAGAGCCTCCGCCAGGTACTACACAGAGGTCATTACCAACAACGGCATGCCACTGGCCAGGGAGGATGAGTTTCTGTACGGACGGTTTCCTGAGGGCTTCATCTGGAGTGCAGCTTCTGCTGCATATCAGGTGAGGAGTTCAGGATGGTGGGACACCAGTGACTGCACACCTGCCCTGTGCCAGGCTCTGGGCTCAGTGCTGGGAAGGGCAGATGCATGAACAGGAGATTCCAGCAGACCCATGGAGGGGCAGCATGGGGTCTGGGAGGTCCTCTTCCAGACAGCCTGGCTTCTTCACACCCCCAAATTTACCCAGACCAGCATGGTGAGGCTCGCTGTCCTGAGATGGGTGCTTGCAGGGCCAGATGGAGCAGGGGGAGCCTGGGCAGAAGTACTTGGGCAAAGACACACAAATACAGTCACGCATTGCTCACAACAGGGATTTACTCTGAGAGATGTGATGTTAGGTGAGTTCATAGTTGTGTGAACATCACACAGAGTGCACTTACACACACCTAGATAGTGTAGCTTACTACACACCTAGGCTACATGGTATAGCCTAGTGCTCCTAGGCTACAAACCTGTACAGCCTGTTACTGTACTGAATGCTGTAGGCAGTTGTAACACAGTGGTATTTGTGTATCTAAATGTATCTAAATGTAGAAAGGCACAGTGAAAATATGGCATAAAAGCTGGACAGGGTACTCACCATGAATGGAGCCTGCTGGACTGGGAGTTGCTTTGGGTGAGTCAGTGGGTGAGGGGTGAGTGAATGGGAAGGCCTAGGCATTACTGTACACTACTGTGGACTTTATGAACACTGCACACTTAAGCTACACTAAGTTTATTTTTTAAATGTTTTTCTTTCTTCAATAACACATTAACCTTAGCTTACTGTAACATTTTTACTTTATTAACTTTTTAATTCTTTAAACTTTTTTACTCTTTTGTGATAATGCTTAGCTTAAAACAAGCACATTGGTCCAGGTGTGGTGGCTCATGCCTGCAATCCCAGTGCTATGGGAGGATCGCTCGAGACGAGGAGTTCAAAACCAGCCTGGGCAAGACATGGCAAAACCCTATCTCTATAAAAAAATCAAAAAAATTAGCCAAGTGTGGTGGTGTGCTCCTGTAGTCCCAGCTACTCGGGAGGCTGAGGCAGGAGGATCACTCAGCCTCCCCATTAGCTGGGATTACATGCATATGCCACCACACCCAATGAATTTTTTATTTTTAATTTTTTTGTAGAGATGGGGGTCTTGCTATGTTGCTAGGGCTAGTCTGAACTCCTGGCCTCAAGTGATCCTCCTCCCTCAGCCTCCCAAAGTGCTGGAATTACAGGTCTGAGCCACAGCACCCGGCCTGCATGTGCTATACTTTTATACTGCTGGCCATACGGTAGATTTATTGACATGAGCACTGCCACAAGCATGAATAATGCAGTGCTCTACAACGTTATGATGGCTGCAAAGCACTAGGCAATAGGAATGTTTCAGCTCCATTATAATCTTATGGGACCACCATCATATATCAGGTCCGTCATTGACCAAAACACTGTTCTACAGCCCATGACTATGACCAGTCCCTGTTGGACCCCTTTATTCCCCAGCTAGATCCTTCCAAGCAGGCAGTTTGCTCACATTGGCTCTCAGCATGGGCCTGAGCTTATTCTGATGTCCTAAAAACATCACACCACTACTGTATTCATGCCAAAATGAGGCTTACTCATACAGAAAATAGGATGGTTTTATTTTGTGCAAGAAAAATGGAAAAGGCAAGAGTGACTTGCCTGGCAGTTAGTGGTGGTTCCTGCTTTCCATCTTCTGTCTGCGTCTGTCTCTGTGCAAGAGTGGGCCTGCCACATGCGTAGAGAAAGCCAGGGGAGTTCCGAGACTGAGCAGGGGCCAGAGCAGGCTCCCAGAGGAGGTAACCACACTTGGCTAATTTTTTTGATTTTTTTTATAGAGATGGGGTTTTGCCATGTTGCCCAGGCTGGTTTTGAACTCCTGGGCTCAAGCGATCCTCCCATAGCGCTGGGGTTGCCGGCGTGAGCCACCACACATGGACCAATGTGCTTGTTTTAAGCTAAGCGTTATCACAAAAGAGTAAACGTCCTGACTTGAGACTCACCCAGTGAAAGAAAGGAGGCTGTGAGTGCTTGACTGAATGACTTAATAAGACCATGTCTTGTCATCTTGAGATTGAAGGTGCGTGGAGAGCAGATGGCAAAGGACTCAGCATTTGGGACACGTTTTCTCACACACCACTGAGGGTTGAGAACGATGCCATTGGAGACGTGGCCTGTGACAGTTATCACAAGATTGCTGAGGATCTGGTCACCCTGCAGAACCTGGGCGTGTCCCACTACCGTTTTTCCATCTCCTGGTCTCGCATCCTCCCTGATGGAACCACCAGGTACATCAATGAAGCGGGCCTGAACTACTACGTGAGGCTCATCGATACACTGCTGGCCGCCAGCATCCAGCCCCAGGTATGGTGGGTCCTGGCAAGGCCTTGGGAAAGTCCACATGCAGGAACCAGCAGGGCTGGGGGAGCACATTTATCATGTAAACAAAATGCTGGTTTCAAATTTAGCTTTTGTTGTTATTGTTGTTTTTGAGACGTAGTCTCGCTCTGTCACCCAGGCTGGAGTGCAGTGGCGGATCTCGTTTCTCAGCCTCCAGAGTAGCTGGGCTTATAGGCACGCATCACCATGCCCAGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACTGTGTTGGCCAGGCTGGTCTCAAACTCCTGGCCTCAAGTGATCCACCCGCCTCGGCCTCCCAAAGTGCTGAGATTATAGGTATGAGCCACCGTGCTCGACCTCAAATTTAACTTTTTAATTGTCAGTGAATTCATATGATGCAGAATTTGAAAAGCATAAAAGAGTTTCCTTCCCAACCTTGACCTCAGCCATCTAGTTCTCCCTGAAAGCAATTTACCCTTTTCCCAAAAGAAAAAGAAAAAAATCTTTGAGCCTTTTTGTCTCATAAGTCACTCTCAGGATTTGCAGCAGACGTTGATGCTGGCACATCTAACCTAGGGCTTCCCATGGAAAGCATGACTGATGCAACAGCTGATCTGGCTTCTTCCCAGGTGACCATTTACCACTGGGACCTACCACAGACGCTCCAAGATGTAGGAGGCTGGGAGAATGAGACCATCGTGCAGCGGTTTAAGGAGTATGCAGATGTGCTCTTCCAGAGGCTGGGAGACAAGGTGAAGTTTTGGATCACGCTGAATGAGCCCTTTGTCATTGCTTACCAGGGCTATGGCTACGGAACAGCAGCTCCAGGTAAGTCCCAGCCCTGGCTCATAGGCTCTTTGAATCATGGCATTCTTAGCACATCAAGAGTTGAAATCCAGATGGCACAGGACGAGGCAACCAAGAAAGCCCCATGGCAGAAACCCTGCCTCTTGCTCAGGGCTGTAGAGGTTTCCCTCCTGGCATTGCATTGTTAAACATGAATTTCACATCTCAATTCCTCAAGGTGGGTTCATTTCTTTGCTCTGTGACTCTGATCGGCCTCAGGTGGGAAGCTCTCTGAGATCAGAGATGTGGGCAAATTGATGTGGGGAAGGACAGTTTGTCAGGCTGTACAGGTCTACAGTCTATTTCCACAATTCCCAAACCCCAAAGTTTCTGACAATTGGTTTGGCTGACCTGAGCTCATTTAATAGTAGTGAAACCTGACTCAAACCAACAGGAGGCTGCTCATGGTCTTTATCGCACTGAGCAAACATTCCTAAGTTCTGCTGCAGAGATATCAGTGTGCTTGACTATGGAGAGCTAGCTGTCTGCGGCCCATGGGGCTGATAGGTACTTTTCTCAAAGGAAACATTTAATTCCAAAACACATCTGACCCTAAAAGATTTTTTTTCTTTTAACTTTGGTTGACATGCAATAATTGTACATATGTATGGAGTACAAAATATATTTTGATACATGTATACAATGTGTGATGATGAAATCAGAATAATTAGTATATTCATCACCTCAAACATTCATCATTTCTTTGTGTTGGGAAAATTCGGAGTCCTCTTTTCTAGCTTTTTGCAAATATACACTAAATTCTTTTGTATCATTATTTTTTATTCATTTTTTATTTTTTTGAGACAGAGTCTAGCTCTGTTGGCCACGCTGGAGTGCAGTGGTATGATACCAGCTCACTGCAACCTCCACCTCCTGGGCTCAAGCAATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGATTACAGGCATGTGTCACCATGCCCAGCTAATTTTTGTATTTTTAGTAGAAATGGGGTTTCATCATGTTGGCCAGGCTGGTCTCGAACTCGTGACCTCAGGTAATCCGCCCGCCTCAGCCTCCCAAAGTGCTGGGATTACAGATGTGAGCCACTGCACCCAGCCTAAATTATTGTTAACTACATTCACTCTACAGTGCCACACATCACTAGAACTTCATCTTCTTATCTAGCTTAACTTTGTATCCGTTAACCAACCTCTCCCTGTCCTCCCTCCCTACTACCCTTCCCATCCTCTAATAATCACAATTCTATTCTCTGCTGCTAGGAGCTCATCTTTTTAGCTCCCACATGTGAGTAAGAACATGCAGTATTTGCCTTTCTGTGCCTGACTTATTTCACTTTACATAATGACCTCCAGTTCCAGCGATGTTGTCACGAATGACAAGATTCATCCTTCTTTATGGCTGTATAGTATTCCATCATATATAGATGCCACATTTTCTTTATCCATTCATCTGTTGATGGACACTTAGGTTGATTCCATATCTTGGCCATTGTAACAGTGATGCAATAAACACAGAGGTCAAGGTATTGATTTGGTATTCTGACTTACTTTCCTTTGGATAAATACCCAAAAGTAAGATTGCGGGATCCCTTAGGGTTTTGAATAAGAAATTGTGGACCTATTTTTGTGCCTTGAGAACCATCCAGTTTCCCTTTTATCTAGTTCTGAGTTAATAAGAATAAATTTGTGTTCATTCATGTGATTCCTCAGAACACTGTGTAACAGCTGGAAAGAGCCACCAGGAGATGTGCCTCAAATCGTTATCAGAGGCATCTCCATTGGTCCTAGTTCGCCCCTTTGGTTTACACTCCTTCAACACATGAGAGGCGCCTCTCTTGCAGCATTCACTATCAGGGTATCTCCGTGTCAGCTGGTTGCATTAGCTACATTCTCCAACCCAAATGATCACAATGGGTCCCCAAGGAGCTCCAGATTATCAACTCCTGTCAATTCATTTGAGCCCAGGAGTTCAAGGCTGCCGTGAGCCATGCTCATGGCACCACTGCACTCCAGCCTGGATGACAGTGCATGACCCTGTCTCAAAAATAATCATAGGCCGAGTATGGTATCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCAAGACAGGTGGATCACCTGAGGTCAGGAGTTCAAGACCAGCCTGATCAATATGGTGAAACTCCACCTCTACTAAAAATACAAAAATTAACCAGATGTGGTGGCATGCGCCTGCAGTCCCAGCTACTCAGGAGGCTGAGACAGGAGAATTGTTTGAACCCCTCGGCTCACTGCAGTCTCCACCTCCTGGATTCGAGTGATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGATTACAGGCGCCTGCCACCACAGCTGGCTAATTTTTTGTATTTTTAGTAGAGACAGGTTTCACCATATTGGGCAAGTTGGTCTCAAACTCCTGACCTCAGGTGATCCACCTGCCTCAGCCTCCCAAAGTGCTGGGATTATGGGTGTGAGCCACCCTGCCTGGCCTGGGTTGTCTTTTAAGTTTTAAAAAATCATTTGTACATATAGTCCTTTCTGAATATAACATTGGTTTGAAGCTAACTCAATAGAAAGAAATTCCATCTCTTTAGTCTCTCTAGTTTGACTATAGTAGCTAACAGAGCTGGGCTGCAATGTCACACTTCACCTTTAGGTGCCACCATCTGATTTGATTTGCTCCAGCCTAAGCATTTCTTAAATTGGGGGCTTTAGATTCTGCGATAGGTATCTCTATTATGGGTATTTTGCCTGAGACGTACGAGCCACTCTTCTGGAGGAGGGGAACAGAAGCCAACATTTATCAAGTGGCCTTCCCTCTTCCAGACACAGTGCTGCTGTGGGCGGGTTTCATACACTGTTTCATTTCCCTCTCACAAGCACTCTCTGCTGCCCATTTCACCAAGGAGGAAACTGAAAGGCTGAATTACTCACCCAAAGTTACACAGCCAGGTAATAAGAGGGAGAGCCAGGGTTTGAATTCCAGTTTTCCTAGTGTCAGAATCTACACCCCTTCTCCCAAACACAGAGGGGACATCTGCAGGCAGGGACTAACAATCTCAGTCACATCCATTCTATCCATTCTCTGTTGACATCCATGTGTATGTTTCCAGGAGTCTCCAATAGGCCTGGCACTGCCCCCTACATTGTTGGCCACAATCTAATAAAGGCTCATGCTGAGGCCTGGCATCTGTACAACGATGTGTACCGCGCCAGTCAAGGTGGCGTGATTTCCATCACCATCAGCAGTGACTGGGCTGAACCCAGAGATCCCTCTAACCAGGAGGATGTGGAGGCAGCCAGGAGATATGTTCAGGTCTGTTTTTCCTCTGGGCGCTTGTTCTTACTCTTGTCCATCTTTCCTTCCAGCCTAATGGAAACAGATTGTGAATCAAAGATTTAGGGTGTGGTGGCTCATGTCTATAATCCCAGCACTTTGGAAGTCTGAGGCAGGAGGATTTCTTGAGGCTAGGAGTTTGAGACTAGCCTGGGCAACATAGAAAGACCTTGTCTGTGAAGAAAAAAAAATTATTAGGGCATGGTGACACACACCTATAGTCCCAGCTGCTCAGGAGGCTAAGGTGGGAGCTTGAGTCCAGGAGGTCAAGGTTGCAGTGAGCCATGATTTCGGCACCATTAAACTCCAGGTGACAGAGGGAGACCACCCCCAACCCCCAAAAAGAAGAATTATTAGGATCTAAGCCTAGTTTTGCTATTGCCTGATTTTGTGAGCTTGGGAAAATCATCTAACTTTTTCGTACCTTAGTTTCCTCAACTTCAAACTGGAGATGTCCTGCCCACCTCAAAAGTTTGCTGTGATGAAAGTGATAAAGTCTGTGGGGTTAAGTTGTCTTTAAGTTTTTAAAAATCATTTGTACAGGTAATTCTTTCTGTAACATTGGTTTGAAGTTAACTCCTAGAGAGAAATTTCCATTTCTTCAGTCTCTCTGGTTTGACTATAGTAGCTAACAGAGCTGGGCTGCAGTGTCACACGTCACCTTTAGGTGTCACCATCTAATTTGATTTGCTCCAGCCTAGGCATTTCTTAAATTGGGGGCTTTAGATTCTGTGAAACTCATTAGTGCCCCTAATTTGCCAACTCAATGAGTTTAAGAACAGCATCTTTCAGTCATGGAATTTCACCCAAGGAAGTAGAGACATTACTAGGAAGCCGACTGGGCAAGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCTAAGGCAGGCTGATAACCTGAGGTCAGGAGTTCTAGACCAGCCTGGCCAACATGGTGAGACCCCATCTCTACTAAAAATATAAAAATTACCGAGGTGTGGTGGCACATGCCTGTAGTTCCAACTACTCTGGAGGCTAAGGCAGGAGAACCCAGAAGCTGAGATCACCATTGCACTACAGCCTGAGCAATGGAGAGAGACTCCATCTCCAAAAAAAAAAAAAAAGGAAGCAGGTGCCAGCATGGCCTACCTTTATTTCCACCTGAACCCCTGACTGACAAGAGGAGAGAAGGAAAAGAATGATCCTCGTTCACGGCACAGCTCCTCTGGCTCCTCCTAGAAAGGGATAGAAGGTGCTCTCTCCTACATTTTGCATCAGGAAGGAAAGGCAAGGGTTTCTCTCTGGATTGGTTCCCACTTTGGGCTCCGTGGAAGAGTCTGCCAACTGTGGCACTATAACTCTCTCGGGGGAAACACCATGGGCCTTGGTTTGCCAAACTCTTCACAAGAGAACTTGACAAAGATAGTCAAATTAATAAATGCAACGAAGGGCTTAATTTTCTGGTCTGCTAGCCAGCTGGGGAAACAGTTTTGAAACAAAATTAATGTATCCCTCATTTCAGACTCACAGAACTGGTGATTTAGAACAACATTTCCTTTTTTCCTGAAATCAAAACTTCAAACGTCAGGAAACGTTAGGCTGTCATATCATTAGATTGAGCCACTTACTGGTGAACTGTGATACTGCAGCCATGGACTATGACAGATGCATCTCTTATTAGAATCAGCTTCCACGAAAATATCTAGTGTGTTACCTTGGAGTGGGTGCATTTAAGCCTCTTTACCAGGGCATGTGTGTTCCATGCCTCATCTCTGACCATGAGTGGAAGCTGCCCTCACCCCACATTCCCAGCAGCAGCCAGTGGGTGAGGAGAGGATTTGGAGAGACTACAGAAGGCTCTCAAACCCCCAGCATCATAGTGTTTGGGTGCCACGTATCCCCGCACATGATAAGGATGGCCTAGGCCTCATTAGAGAAAATAGGTCAAACGGTTCCCCACTCTGGGGCTGTGAAAGCCCATTAAGAGTTATACTTTGCCCGGAAAGTCAGGAAAGCCTTGCATTTCAGCCCTCCCCAGAAAGTTCTGTTTGCTCCTTGGGCACTTTGATGAGGAAGTGCAGCCGCTCAGTGGTGAGAAAGAGAACCGGGAGCCTGGAGGCTTGTGGGTTCTCCCTTCTCCTCTGCAGGACCCATCCAAGGGCAGCCAGGAAGCATTTGTTGAGCACCAGGGCCAGTGCCCAGGTCAGTTACTGTCACCTCAAGCTACAACTATGAAGAGGTGGCCCTGTCCTCAGTGCAACAGCAACTGAGCAAGCACAGACCCAGCTGGGAGACCTGTGGACACTGAAGCTGCAACAGGCAGGAGCCACAGGGAAGAGAGCTTAACCTGGGGGTCCAGGAAAAGGAGGGAGGTTGTGAGGCCAGGCACTTCTGAGCGGGGACGATGCTGTCTCTTGCTGTGCCCACCTGTAACGCCTGGGCTGTCTCCCCCACCCTACCCGCAGTTCATGGGAGGCTGGTTTGCACATCCTATTTTCAAGAATGGAGATTACAATGAGGTGATGAAGACGCGGATCCGTGACAGGAGCTTGGCTGCAGGCCTCAACAAGTCTCGGTAAGGGCCTGGTGCCCGCAGTGGTGAGGGCATGGGCGTCGGGGTCACAGAGGCATGTCTCGGGCAAGTTACCATGACTGAGCTTCTTTGCTTGCTGGGAAGTTACATGTGATCATATATGTAAAGCTTAGCCCAGCACCTGGCACTGCTATATGCTTGACAGAGGGGTTTGCTATTATGGTTATTATATTGTGGAACAGCCAGGAAATCTGTTCCAAGGCTATCCACCTCTGAGCAACCCCACTATGCCACTCCACAGACAAATCCCAGCTCATCCTATCCTATTTCATCACCGCACGTGTGAATGTGGGTGGCAGTGGCTGACAGTCAGGCGTGTGCTTTGCATCACTTGGCCAGCAGGTGGCGATGGTCTGCACCAAAGCGTCCTTCCTTACCCGCCCGCCCCTTCTTGTCAAGGAAGGAGTAGCAACATTAGCAGCCAACGTTTACCCATCTTCTGTTGGTATCTTTATTTCTATTTAAATACGAGTAAAGTGAGGCGCAAAGATTAGGGCAAGATCACCCAGCTATTAAGAGATAGAGCTGAGATTTGCAGCCAAGCTGTCGGCCCCCAGGGCGCATGCTGGGGGCTTGAGAATCATGCAGGTGGGGTGAGAGGTGTGGTGTGAGGAAGCGCAGGAAGCGGCAGTCACTGCCCACGGGAACATGCCCACCGCTCCAAGGCTGGCGGGAATCAAGTGTGAATTCCCAACATAGTCTTTGAGTCCTGCCCCTAGACGCCCCCATATAGTCCAGCTGAGGATTAAAAATCCAGCTCCCAGGCCGGGTGCGGTGGCTCACACCTGTAATCCCAGCACTTTGGGAGGCCAAGGTGGGCGGATCACTTGAAGTCATGAGTTCAAGACCAGGCTGGCCAACATGGCGAAACCCTGTCTCTACTAAAAATACAAAAATTAGCTGGGTGCGGTGGCGGGGGCCTGTAATCCCAGCTACTTGGGAGGCTGAGGCCAGAGAATTGCTTGAGCTCGGGAGGCAGAGGTTGCAGTGAGCCGAGATCATGCCACTGCACTCCAGCCTGGACGATGGAGCAAGACTCTTTGTCTCAAAAAAAAAAAAAAAAAAAAAATCCAGCTCCCACCTCACAATGCACACCCTGGCCTAGTTAGGGTAAGTTCCCCAGAGCAGGCTGTGCCTAAAGGTCTGATCTGCGAACTGTGATCTCCAGCAAAACCGATGAGCGCCCGGCCCATCTGCACAACTTTGCCGAGCACCTACCATTTGCCCGAGCCAGGGCCAGGGGGAGGGGTCCATGGAAGGAGAGGATTCCATTCGGCTCCTCAAGCTGCTGACAGATCAGCTGGAAAGACAGTTCTCCATCCCATTCCCCAGGCTCTTCAGTACAAAGAAAACTCAGAAGATGAGATCAGGGTAGGCTGGGTAGACCCAGGAGATTTCATGGACAAGGCAGGACATCAGCTGAGCTGGGCCTTGACAGGGGATAGAATGTGGGGGATTGCAGGTCATTCTTTCCACGGGGCAGAGTTGTGAAGACAGGCCTAGAGGTAAGAATGAGTGGGGGTGCCAGAGCTGAGAGTGGGGAGACCAGCCCAGCAGCAGTGAAGGGGCTGAGGCCACATGGTGGAGGGCCTGGAAGCCAAGCACAGGGCCTTGGCTTTGGTGCCACAGGCCATTGCTGGCTTCTGAGCAGAAGCGTCAGGGACAGGAGGAGGCTGTGCTTTGGTTTTCTCCCATCATCTCAGAAACCCCAGGGAAGGAAGGTTCTTGATCCCTCAGGTTAATGGTAGCAGAAAGGTCAAGATGAAAGTGTCAGAGGCCTCAGCAGGGCATCTCTGGGCCACACCTAAACCAGAAGCCCCAGGTCTCCCTGTGGGCATGCGCATGCATTCAGGATCACCTGTACATGCTGCACACAAGTGTATTAGTCAGGTTCTACAGGAGAGGCTTTTCACTCAGAGTGCCTGGAAAATGCTCCATCTACAGGTTAAGAAGCCAAAGTTCCCAGGCTCACAAGTAATCTCAGCACTTTGGGAGGCTGAGGCAGGAGGATTGCTTGAGACCAGGAGTTCAAGACCAGCCTGGGCAATATAGTGAGACTTTGTCTTTACAAAAAATTTAAAAATTATCTAGGCATGGTGACGCACACCTATATTCCCAACTACTTGGGAGGCTGAGGTGAGAGGATTGCTTGAGCCCAGGAGACTGAGGTTGCAGTGAGCTATGATTGCACCACTGCACTCCAGCCTCAGGGGGCGTGCAGTGTCCTCAGGAGGACAGGGCGAGACCCTGTCTGGGAAAAAAAAAAGGAAGAAAGAAAACAAAGTTCAGTGAAATCGTGAGAACTGAGAAATTCAAACTCAAATACTCAATTTGCAAATTATTTCCCCTGCTACTTTGAAGATCTTGAAGCTATTATTATTATTATTATTATTATTATTATTATTAGAGTTGGAGAAAAGAGGCATGCCTAAACAAACCCCAAGAGGAGCAGAGAAACTTGGAAAGGGCAGAAAACGGAAATACAAATTACACAAGATACAGGGCCGGGTGTGGTGGCTCATGCCTGTAATCCCAACACTTTAGGAGGCTGAGGTGGGCGGATCACTTGAGGTCAGGAGTTCAAGACCAGCCTGGCCAACATGGTGAAACCCCATCTCTACCAAAAATATAAAAAATCAGCCAGGAGTTGTGGCAGGCGCTTGTAGTCCCAGCTACTTGGGAGGCTGAGGCAGGAGAATCACTTGAACCCAGGAGGCGGAGGTTGCAGTGAGCTGAGATCGCGCCACTGCACTCCAGCCTAGGTGACAGAGCCAGACTCAGCCACAAAAAAAAAAAATTATACAAGATCTAACTTTACAAACATAGGGGAAGAGTCTCAGATATGTACCTCAGGCATGCTCTTGATTTTGAAATCTGTCATAGATGCTAAATATCAGAATTTGCATATGTTGTTTGAAGGAAATTAAAAACTGTTTATGCATGTGTGTGTGTGTGTGTGTGTGTGCGCGCGCGCGCGTGGGTGCGTGTGTGTGTGGTCCTTCAGGTTTCAGAGGCTCTTGTAGAGACCTAGGGAAGCCAGGTTTATGGTCTGGCTGGAGGAGCCGCAGTGCTTCCTGCACCGCCTGAAGGACCTCTTCTCCTTCCCTGCCAGTTTCCCCTACTCACTGCCAAGTGCCTGGGGTTCGGAGAGCTCCCCCGCCCCAGCCCTATGACGTTCTCTTCTCAAAGCATGGCTCTCCCTGAAGCCCTGCCCTCAATGGCTTCTTCCACCCAGGCTGCCAGAATTTACAGAGAGTGAGAAGAGGAGGATCAACGGCACCTATGACTTTTTTGGGTTCAATCACTACACCACTGTCCTCGCCTACAACCTCAACTATGCCACTGCCATCTCTTCTTTTGATGCAGACAGGTAAGTCCACCAACAGGGAGCCCGGAGCCATCTCTGGAAAAGGCAGAAAGGTGCCCTTGGCTGTGCTCTCTGAGGCCTGCCCAGCCTCAAAACAGGGCCTCCAACGCCGAATGTGCCGGGGTTTGCAAGATGCTCGCCACCCCACAGATCCCAAGGAAATCTCCAGCAAGCAAGAGGGAGAGAAGGCCGGGGTCTCCAGGGCACCTCCCATTAGGGCACATGTGCTTGGCTTTTTGTTTTTTTATTTCATTTTTAAAATTTATTTATTTTGCGTTCTTTTTCACAGGCTGCTTAACTCTAAAAATGCTTGGTTGTTAAAAAGGATTTTCAAGAAAAAAATTGTTTAGGTTTTATCAAAATTCGCTTTAATATTAATAAATATTACAATAATACAAGAGTAAAATTTTATTTTCTCTTTTTAAACAATGCTTTTATGAAGTAGAGATAGTAAAAGATTTTGGTTCACCTTTTAAGTAACAGTTTTTATTTTATTTATTTTTTTTGAGACAGAGTCTCGCTCTGTCACCAGGCTGGAGTGCAGTGGCACAATCTTGGCTCACTGCAACCTCCACCACCCGGGTTCCAGTGATTCCCCTGCCTCAGCCTCCAAGTAGCTGGGATTACAGGCGCGTACCTCCACGCCTGGCTAATTTTTTTTTTTTTTTTTTTGTATTTTAGCAGAGACGGGGTTTCATCATGTTGGCCAGAATGGTCTCGGCTAATTTTGTGTTTTTAGTAGAGACAGGGTTTCTCCATGTTGGTCAGGCTGGTCTCTATCTCCTGACCTCAGATGATCCCCTTGCCTTGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCACTGCGCCCAGCCGATTGTCTTTTTCTTTATGATATCTATTTATCTAGAGACTTTTTCATCCATATCCTGTATTGTTTTTTAAATTTCTCTAAGTTAATTTTCACCTTTCTCTAGTACCTCCTTGAGTAGTTTAATAATCAACCTTCTGAATTCTTTATCTGGCAATTCAGAGATTTCTTCTTGGTTTGGATCCATAGCTGGAGAGTTAGTGCGACCTTTTGGGGGTCTTATAGAACCTTGTTTTGTCATATTACCAGAATTAACATTTCTGGTTCCTTCTCATTCAGGTAGACTGTTTCAGTGGAAAGATCTAGAACTCAAGGGCTGCCCCTCAGATCCTTTTGTCCCACAGGGTGATCCCTTGATGTGGTGCTCACCCCCTTTCCCTAAGGATGGGGCTTCCTGAGAGCCAGACTGCAGTGATTGCCATTGCCCTTCTGGGTCTATCCACCCAGCAGAATTACTGGGATCTGAACTGGTGCTGAGGAATGTCTGCAAAGAGTCCTGTGATGTGATCTGTCTTCAGGTCTCCCAGCCATGGATACCAGCACCTGCTCCAGTGCAGGTGGCAGGGGACTTAAGTGGATTCTGTGAGGGTCCTTGGTTGTAGTTTTCTTTCGTGCACTGGTTTTCTCAAACGCTGGTTATGCGAGCAGTGAAGTTGTCATGTGGACAGACTCAGGACCTCTGGTTAGCCAGGATGTTGCAGGCAGTGGAATTAGTTGTTGTTTTCTCTTTCTTTGGAGCAGGGTTCTTCTGTTATGAGTTGCTATAATGGCGTGAGTTGGTTGGTCTCCAGCCAGGAGGTGGCACTTTCAAGAGAGGAGGTGGCACTTTTGAGGTGCTTTCCCCTTCCACTGCCACCAGCTGCGGTAGTAGAAGGGGGATTACAAGGTTGCCCTACGTTGGCCAGGGTATTTGGGTTTCTCAGGTTATGGGCGGGGCCATAGAGCTCCCAAGAGTTTATGTCTTTTGTCTTCAGCTACCAGCAAAGGTAGAGAAAGACCATCAGGTTGGGGCAGCATTAGGCATATCTGAGCTCAGACTCTCCTCGGGTGAGGCTTGCTGTGGCCACTGTGGGGGAATAGGGGGCTGGTTCTCAGGCCAGTGGAGTTCTGTTCCCAGGGGTATTATGGCTTCCTCTGCTGTGTCATACAGGTTGCTAGGGAAGTTGGGAAAGCTGGCAGTCACAAGCCTCACCTAGCTCCCATGCAGCCAGCAAGGCCAGTCTCACTCCTGCTGTGCCCTGCCAACAGTGCGCAGGGCAGAGATCTCACCCCAGGCCACAAGCCTTCTCTCTGAGAAAGCAAACAGGGCTTTCAGGCCTTGCCCCTCCCCACCTGCCCACACTGTTGGCTGTGGCTTCTGTGCTTTTATCTGCACTTCTTGTTTGCCCCCAAGATTCTGCTCAGGAAAATTCATGCTTCTAGTTGAAATTAATAAGTTGAGCTAGAAGCTTCCTTAATCCTGCCCCTCCCTAATTCCACTGGCTTCCTTCTACAAGGACCCCTGTAGGATAAAGTCAGGAATGGCTTCCCTGGGCTCAAGCTGGGGACAGGGAGTGGCTACAGGGCTCTTCCCACTGCTTCTTCTACTTTTACATTTCACTTGGCTCCCTAAATCCACTTGCGCTCTAGGTAAGGTTAAATCCTTCTCCTATGATCTGGATGTTCAGGTCCCCAGAGAGGATGTGTGTTCAGAGGCAGACTTTCCCCTTCTCACACTTTGGGAACTCACAGTTTTGCAGCTGTCTCATGGAGTTTGCAGTAGCATTCTGCTTCTTTCAAAGGTCTGTGAATTCTTTTGGTTTTTCTGGTATGTTCCAGCAGTAGTTCTTGGAGCAACAGTTAACAATGTGAGTCTCCACACACTGTTCTGTCCATCCAAGTGGGAGCTGTACCTAAGTCCTGTCTCTTATCTGCCATTTTCAGAAAATCTCATTTTGTTCCTTTTCCATCAAGCATCTTTCCACACCAGTAGCTCTGACTGTGTCCAGGTTCTTTCTTTGAAAACCAGCCCCTCCACTCCCACTGTATCCTGAAACCCCCAGAGTCAGGCTCACCAAGGGGGCTGAGGAGACTCCAGAACACCCCTCTACTCCTTCTGATTCTCCCTCCCTCTTATGAGCCCTGGGGCTGTCCCTGGGAAGACCTCCACTAGTGCTTATGAAATGGCCCACATTCAATTCAGCTGAGTCAGATAAATCCAGGTGCTGATAAAACCAACATTTTTTTTTTCCCTGAAAGATCTGAGTGTAGGAAGTGTCTAAATTCTTGGTTCTTATTTGACATATGTGACTACAGGTGATCAGGCTTCTGTGGCCTCCCCCAGCAGGCACCCCTGTGGCAGGAGCTGTCCACCTCCTCGTCCATCACTGAAGAGAGAGGCCAGGCTCTTGGACACTTGAAGGAGGTGCCAGCCTGTCTGCTGCCTGTCTTCACACAAAGCAGGGCCCCTACAAATATTCGTGCCTGTGGCCTCACCCGTGGTCTGCAAGTGGCATTGACTAGACATGGGTGACTTGGGGGAGCCCATTCTCTGAAGACACAGCACTGGCGTCCATTGGAAGCCTGGAGCTGGGGACCCATAGCCTTTCATAGCTGGTGTAAGGAGCCATCTATTCAGAGTAGTGGAGGGCTGGGCTCCATGAGCAAGACCATTCTCTGCACAGGCAGAGAAATTGAAGGACGGAGAGCTGAGTGGCTTGTCCAATGCTATACAAGCACAGAGTGCAGGCAGCTAGAACCAGCGAAAGGAGGAGAATTTGAGGCAATTTGATTCTTCTGGGTTTAGTATGATTCTTAAGGCTAGACAAAACCTAAGGCTTTTCCTGGTCTAAGTCCTGTTTTGTGTTTCGTGTAAAGGGCCTCTTGAGATTTACAAAACAAGACCTCATCTTTAGTTTTTGAACTTGTAGAGGAGTTGCTTCCATCGCAGATCGCTCGTGGCCAGACTCTGGCTCCTTCTGGCTGAAGATGACGCCTTTTGGCTTCAGGAGGATCCTGAACTGGTTAAAGGAGGAATACAATGACCCTCCAATTTATGTCACAGAGAATGGAGTGTCCCAGCGGGAAGAAACAGACCTCAATGACACTGCAAGGATCTACTACCTTCGGACTTACATCAATGAGGCCCTCAAAGGTACGACGGGCCCGCCCTTCCCCAGCGTGCACCTTCCCCTGTTGGAAACATCTGCTATTTGCAGGAGTGTGATACAGCGTCCTTGGGCCACAGTAAGAAGAGAACGATAAGCCTTCTTGCTCCTGTGGGGGTTAAGCTTTGCTTTAGGGCCGCACTCTGAGTTTTTTTCCTTCCTATGTCTAAGCTCAGCAAGCAAGCCCAGTGGCCTGATGCCACCAAACCCTAGTTCCTGGCCTGAGTCACTTGCTCCCCTTGATCCTCCCTGATGTCGGAACAGCAGTGCCCTCCTGAGAATGGTCTGGGTAGGGCCCAGGAGGAGTAGGCTGTGTGGTTGCCTGTAGGGTCTCTTAGTCTCCGAGCAAAAGTTTGAGGCTCTTGGCTCAGCCCTAACAACTTGAGATGGGACCATGAGGATAAGAGAATGGAACAAATGCTGAGTAAAAGAGCAAGCAATGCACCAGCAAAGGAAATGATTAGAAAAATCCTACCCAGCTGAAATATATTCTATCTAAGGGCTATTTTCTACAGGGAGAAGCATTAACATTCTAAGGCACTGACCAAGATCATGGATAGAAGTGTAGGTGACCCAGGGAAATTAGTCCACCCATGTTCCCGACTCCCATTCAGGGCTGAGCCTTTCTAAAGATGCTGGTGGCTCTACATCTCCATCCACAGAGGACCCGCTAACAGTCACTGCATGCAAAGAAAGGGGCAGCTTTCTCACAGAGCTAAAGCCAAAGCTTACCGCCATCTGTGAAGGCGGTGGGGAGAGCAGTAGGCAGACCTGGCTTCCGAAGGCCTGGCAGGAAGCTGCCTTATGAGATAGGAAACTTATGCCTAGTCCTCTGTGTTTGAGCAGCTGTGCAGGACAAGGTGGACCTTCGAGGATACACAGTTTGGAGTGCGATGGACAATTTTGAGTGGGCCACAGGCTTTTCAGAGAGATTTGGTCTGCATTTTGTGAACTACAGTGACCCTTCTCTGCCAAGGATCCCCAAAGCATCAGCGAAGTTCTACGCCTCTGTGGTCCGATGCAATGGCTTCCCTGACCCCGCTACAGGGCCTCACGCTTGTCTCCACCAGCCAGGTGAGATGTGGCTCTGGGAGGGAATAAAGCCTAAGGGTGAAGGGCAGGTGGAAGGGCCTCTCTCAGTCTGTTTTCTTCTAGTTTATTACCCTCCTCTCTGCTGCCCCATCTCCTTCATTCATTCAACAAATGTTTATTTTCTTTGAATGCTCCAGACATTTCCTGGGGTGGAACAAAGGACACTTAGGGTCAATGTTACACCTAGAAACCAGAGCCCTGACCTGGGAATAAGCAGGTCTAGACTCTTCTTCCAGCCCTACCACTAACTTGCTGTGCACTCATAGATAAGAAACCAGGCACATGCTTCAGGGCAGTTATAAGGATCAAATAAAGGGACCATGAAAGTACAATGCCTGCACCATGTGGGTGCCCCGTATTTGTTAAATGTAAGAGTATAAATCACTACACAAATGTAAATGACAATTATCCAGTTTCAATTATACAGGCTGAGAATCCTTCATCTGAAAATTCAAAATCCAAAATACTCCAAAATCTGAAACTTTTTGAGCATGACTGGCATGACAACACAAATGGAAAATTCAACACCTGACCCCATGTGACAGGTCGCAGTCAAAACACAGTTAAAGCTTTGTTTCATGCACACAATTATTTAACATATTGTATAGAATTACCTTCACACCACGTGGATAAGTTGCATATAAAACATATATGAATTTCATATTTAGACCTGGGTCCCATCCCCAAAATATCTCATTATGTATATGCAAATATTCCAAAATCTTAAAAAATCCCAAATCTGAAACACTTCTGATCCCAAGCAAGCATGTCAGATAAGGGATATTCAACCGTATTCTAATTGCTGATAGAGATGTTTAAAAAATACAACTGCTTAACTTCACTCAGAGGCTCCTGACACACAGTGAAAGGGGATGGGTACCTCCACCTCGGCATCCCGTCAATGGCTGTGCGGATTTGGGGTACCGTGCAGCCTCTGCTGGGGTCTCAGAGATCTGAGAACTCAAATCAGCGCCAGAGCACCAACCACCCTGTGTCACACTCTCCTAGATGCTGGACCCACCATCAGCCCCGTGAGACAGGAGGAGGTGCAGTTCCTGGGGCTAATGCTCGGCACCACAGAAGCACAGACAGCTTTGTACGTTCTCTTTTCTCTTGTGCTTCTTGGAGTCTGTGGCTTGGCATTTCTGTCATACAAGTACTGCAAGCGCTCTAAGCAAGGGAAAACACAACGAAGCCAACAGGAATTGAGCCCGGTGTCTTCATTCTGATGAGTTACCACCTCAAGTTCTATGAAGCAGGCCTAGTTTCTTCATCTATGTTTACCGGCCACCAAACACCTTAGGGTCTTAGACTCTGCTGATACTGGACTTCTCCATAAAGTCCTGCTGCACCGTTAGAGATGACTTTAATCTTGAATGATTTCGACTTGCTGAGTAAAATGGAAATATCTCCATCTTGCTCCAGTATCAGAGTTCATTTGGGCATTTGAGAAGCAAGTAGCTCTTGCGGAAACGTGTAGATACTGGTCTAGTGGGTCTGTGAACCACTTAATTGAACTTAACAGGGCTGTTTTAAGTTTCAGAGTTGTTAAGGGTTGTTAAGGGAGCAAAAACCGTAAAAATCCTTCCTATAAGAAGAAATCAACTCCATTGCATAGACTGCAATATCATCTCCTGCCCTTCTGCAAGCTCTCCCTAGCTTCACATCTTGTGTTTTCCAGAAAATAAAAACAGCAGACTGTCCTTTCTCCTA', 'molecule': 'dna'}\n"
     ]
    }
   ],
   "source": [
    "lct_seq = do_request(ensembl_server, 'sequence/id', lct_id)\n",
    "print(lct_seq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LRG display in Ensembl gene\n",
      "{'display_id': 'LRG_338', 'primary_id': 'LRG_338', 'version': '0', 'description': 'Locus Reference Genomic record for LCT', 'dbname': 'ENS_LRG_gene', 'synonyms': [], 'info_text': '', 'info_type': 'DIRECT', 'db_display_name': 'LRG display in Ensembl gene'}\n",
      "Expression Atlas\n",
      "{'display_id': 'ENSG00000115850', 'primary_id': 'ENSG00000115850', 'version': '0', 'description': '', 'dbname': 'ArrayExpress', 'synonyms': [], 'info_text': '', 'info_type': 'DIRECT', 'db_display_name': 'Expression Atlas'}\n",
      "MIM morbid\n",
      "{'display_id': 'LACTASE DEFICIENCY, CONGENITAL [#223000]', 'primary_id': '223000', 'version': '0', 'description': 'LACTASE DEFICIENCY, CONGENITAL;;ALACTASIA, CONGENITAL;;DISACCHARIDE INTOLERANCE II', 'dbname': 'MIM_MORBID', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'MIM morbid'}\n",
      "MIM gene\n",
      "{'display_id': 'LACTASE; LCT [*603202]', 'primary_id': '603202', 'version': '0', 'description': 'LACTASE; LCT;;LAC;;LACTASE-PHLORIZIN HYDROLASE; LPH', 'dbname': 'MIM_GENE', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'MIM gene'}\n",
      "HGNC Symbol\n",
      "{'display_id': 'LCT', 'primary_id': 'HGNC:6530', 'version': '0', 'description': 'lactase', 'dbname': 'HGNC', 'synonyms': [], 'info_text': 'Generated via ensembl_manual', 'info_type': 'DIRECT', 'db_display_name': 'HGNC Symbol'}\n",
      "NCBI gene\n",
      "{'display_id': 'LCT', 'primary_id': '3938', 'version': '0', 'description': 'lactase', 'dbname': 'EntrezGene', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'NCBI gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-5659898', 'primary_id': 'R-HSA-5659898', 'version': '0', 'description': 'Intestinal saccharidase deficiencies', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-189085', 'primary_id': 'R-HSA-189085', 'version': '0', 'description': 'Digestion of dietary carbohydrate', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-8935690', 'primary_id': 'R-HSA-8935690', 'version': '0', 'description': 'Digestion', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-8963743', 'primary_id': 'R-HSA-8963743', 'version': '0', 'description': 'Digestion and absorption', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-5663084', 'primary_id': 'R-HSA-5663084', 'version': '0', 'description': 'Diseases of carbohydrate metabolism', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-5668914', 'primary_id': 'R-HSA-5668914', 'version': '0', 'description': 'Diseases of metabolism', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "Reactome gene\n",
      "{'display_id': 'R-HSA-1643685', 'primary_id': 'R-HSA-1643685', 'version': '0', 'description': 'Disease', 'dbname': 'Reactome_gene', 'synonyms': [], 'info_text': 'Generated via gene', 'info_type': 'DIRECT', 'db_display_name': 'Reactome gene'}\n",
      "UniProtKB Gene Name\n",
      "{'display_id': 'LCT', 'primary_id': 'P09848', 'version': '0', 'description': '', 'dbname': 'Uniprot_gn', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'UniProtKB Gene Name'}\n",
      "WikiGene\n",
      "{'display_id': 'LCT', 'primary_id': '3938', 'version': '0', 'description': 'lactase', 'dbname': 'WikiGene', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'WikiGene'}\n"
     ]
    }
   ],
   "source": [
    "lct_xrefs = do_request(ensembl_server, 'xrefs/id', lct_id)\n",
    "for xref in lct_xrefs:\n",
    "    print(xref['db_display_name'])\n",
    "    print(xref)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ENSG00000115850 [{'display_id': 'GO:0000016', 'primary_id': 'GO:0000016', 'version': '0', 'linkage_types': ['IEA'], 'description': 'lactase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0000016', 'primary_id': 'GO:0000016', 'version': '0', 'linkage_types': ['IBA'], 'description': 'lactase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'GO_Central', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0000016', 'primary_id': 'GO:0000016', 'version': '0', 'linkage_types': ['TAS'], 'description': 'lactase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'PINC', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0000016', 'primary_id': 'GO:0000016', 'version': '0', 'linkage_types': ['TAS'], 'description': 'lactase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'Reactome', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0003824', 'primary_id': 'GO:0003824', 'version': '0', 'linkage_types': ['IEA'], 'description': 'catalytic activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0004553', 'primary_id': 'GO:0004553', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity, hydrolyzing O-glycosyl compounds', 'dbname': 'GO', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'GO'}, {'display_id': 'GO:0004553', 'primary_id': 'GO:0004553', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity, hydrolyzing O-glycosyl compounds', 'dbname': 'GO', 'synonyms': [], 'info_text': 'InterPro', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005886', 'primary_id': 'GO:0005886', 'version': '0', 'linkage_types': ['IEA'], 'description': 'plasma membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005886', 'primary_id': 'GO:0005886', 'version': '0', 'linkage_types': ['TAS'], 'description': 'plasma membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'Reactome', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005887', 'primary_id': 'GO:0005887', 'version': '0', 'linkage_types': ['TAS'], 'description': 'integral component of plasma membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'PINC', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005975', 'primary_id': 'GO:0005975', 'version': '0', 'linkage_types': ['IEA'], 'description': 'carbohydrate metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': '', 'info_type': 'DEPENDENT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005975', 'primary_id': 'GO:0005975', 'version': '0', 'linkage_types': ['IEA'], 'description': 'carbohydrate metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': 'InterPro', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0008152', 'primary_id': 'GO:0008152', 'version': '0', 'linkage_types': ['IEA'], 'description': 'metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0008422', 'primary_id': 'GO:0008422', 'version': '0', 'linkage_types': ['IBA'], 'description': 'beta-glucosidase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'GO_Central', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016020', 'primary_id': 'GO:0016020', 'version': '0', 'linkage_types': ['IEA'], 'description': 'membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016020', 'primary_id': 'GO:0016020', 'version': '0', 'linkage_types': ['TAS'], 'description': 'membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'PINC', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016021', 'primary_id': 'GO:0016021', 'version': '0', 'linkage_types': ['IEA'], 'description': 'integral component of membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016324', 'primary_id': 'GO:0016324', 'version': '0', 'linkage_types': ['IEA'], 'description': 'apical plasma membrane', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016787', 'primary_id': 'GO:0016787', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016798', 'primary_id': 'GO:0016798', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity, acting on glycosyl bonds', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0017042', 'primary_id': 'GO:0017042', 'version': '0', 'linkage_types': ['IEA'], 'description': 'glycosylceramidase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0044245', 'primary_id': 'GO:0044245', 'version': '0', 'linkage_types': ['TAS'], 'description': 'polysaccharide digestion', 'dbname': 'GO', 'synonyms': [], 'info_text': 'Reactome', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:1901657', 'primary_id': 'GO:1901657', 'version': '0', 'linkage_types': ['IBA'], 'description': 'glycosyl compound metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': 'GO_Central', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0004553', 'primary_id': 'GO:0004553', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity, hydrolyzing O-glycosyl compounds', 'dbname': 'GO', 'synonyms': [], 'info_text': 'InterPro', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0005975', 'primary_id': 'GO:0005975', 'version': '0', 'linkage_types': ['IEA'], 'description': 'carbohydrate metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': 'InterPro', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0008152', 'primary_id': 'GO:0008152', 'version': '0', 'linkage_types': ['IEA'], 'description': 'metabolic process', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016787', 'primary_id': 'GO:0016787', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}, {'display_id': 'GO:0016798', 'primary_id': 'GO:0016798', 'version': '0', 'linkage_types': ['IEA'], 'description': 'hydrolase activity, acting on glycosyl bonds', 'dbname': 'GO', 'synonyms': [], 'info_text': 'UniProt', 'info_type': 'DIRECT', 'db_display_name': 'GO'}]\n"
     ]
    }
   ],
   "source": [
    "refs = do_request(ensembl_server, 'xrefs/id', lct_id, external_db='GO', all_levels='1')\n",
    "print(lct_id, refs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pan_paniscus\n",
      "pan_troglodytes\n",
      "gorilla_gorilla\n",
      "pongo_abelii\n",
      "nomascus_leucogenys\n",
      "colobus_angolensis_palliatus\n",
      "rhinopithecus_roxellana\n",
      "macaca_fascicularis\n",
      "papio_anubis\n",
      "cercocebus_atys\n",
      "rhinopithecus_bieti\n",
      "chlorocebus_sabaeus\n",
      "mandrillus_leucophaeus\n",
      "macaca_mulatta\n",
      "macaca_nemestrina\n",
      "aotus_nancymaae\n",
      "saimiri_boliviensis_boliviensis\n",
      "cebus_capucinus\n",
      "callithrix_jacchus\n",
      "tupaia_belangeri\n",
      "loxodonta_africana\n",
      "procavia_capensis\n",
      "otolemur_garnettii\n",
      "propithecus_coquereli\n",
      "canis_familiaris\n",
      "ovis_aries\n",
      "mus_spretus\n",
      "equus_caballus\n",
      "{'source': {'perc_pos': 92.1121, 'protein_id': 'ENSP00000264162', 'taxon_id': 9606, 'cigar_line': '351M2D1503MD73M', 'species': 'homo_sapiens', 'perc_id': 85.781, 'align_seq': 'ATGGAGCTGTCTTGGCATGTAGTCTTTATTGCCCTGCTAAGTTTTTCATGCTGGGGGTCAGACTGGGAGTCTGATAGAAATTTCATTTCCACCGCTGGTCCTCTAACCAATGACTTGCTGCACAACCTGAGTGGTCTCCTGGGAGACCAGAGTTCTAACTTTGTAGCAGGGGACAAAGACATGTATGTTTGTCACCAGCCACTGCCCACTTTCCTGCCAGAATACTTCAGCAGTCTCCATGCCAGTCAGATCACCCATTATAAGGTATTTCTGTCATGGGCACAGCTCCTCCCAGCAGGAAGCACCCAGAATCCAGACGAGAAAACAGTGCAGTGCTACCGGCGACTCCTCAAGGCCCTCAAGACTGCACGGCTTCAGCCCATGGTCATCCTGCACCACCAGACCCTCCCTGCCAGCACCCTCCGGAGAACCGAAGCCTTTGCTGACCTCTTCGCCGACTATGCCACATTCGCCTTCCACTCCTTCGGGGACCTAGTTGGGATCTGGTTCACCTTCAGTGACTTGGAGGAAGTGATCAAGGAGCTTCCCCACCAGGAATCAAGAGCGTCACAACTCCAGACCCTCAGTGATGCCCACAGAAAAGCCTATGAGATTTACCACGAAAGCTATGCTTTTCAGGGCGGAAAACTCTCTGTTGTCCTGCGAGCTGAAGATATCCCGGAGCTCCTGCTAGAACCACCCATATCTGCGCTTGCCCAGGACACGGTCGATTTCCTCTCTCTTGATTTGTCTTATGAATGCCAAAATGAGGCAAGTCTGCGGCAGAAGCTGAGTAAATTGCAGACCATTGAGCCAAAAGTGAAAGTTTTCATCTTCAACCTAAAACTCCCAGACTGCCCCTCCACCATGAAGAACCCAGCCAGTCTGCTCTTCAGCCTTTTTGAAGCCATAAATAAAGACCAAGTGCTCACCATTGGGTTTGATATTAATGAGTTTCTGAGTTGTTCATCAAGTTCCAAGAAAAGCATGTCTTGTTCTCTGACTGGCAGCCTGGCCCTTCAGCCTGACCAGCAGCAGGACCACGAGACCACG------GACTCCTCTCCTGCCTCTGCCTATCAGAGAATCTGGGAAGCATTTGCCAATCAGTCCAGGGCGGAAAGGGATGCCTTCCTGCAGGATACTTTCCCTGAAGGCTTCCTCTGGGGTGCCTCCACAGGAGCCTTTAACGTGGAAGGAGGCTGGGCCGAGGGTGGGAGAGGGGTGAGCATCTGGGATCCACGCAGGCCCCTGAACACCACTGAGGGCCAAGCGACGCTGGAGGTGGCCAGCGACAGTTACCACAAGGTAGCCTCTGACGTCGCCCTGCTTTGCGGCCTCCGGGCTCAGGTGTACAAGTTCTCCATCTCCTGGTCCCGGATCTTCCCCATGGGGCACGGGAGCAGCCCCAGCCTCCCAGGCGTTGCCTACTACAACAAGCTGATTGACAGGCTACAGGATGCGGGCATCGAGCCCATGGCCACGCTGTTCCACTGGGACCTGCCTCAGGCCCTGCAGGATCATGGTGGATGGCAGAATGAGAGCGTGGTGGATGCCTTCCTGGACTATGCGGCCTTCTGCTTCTCCACATTTGGGGACCGTGTGAAGCTGTGGGTGACCTTCCATGAGCCGTGGGTGATGAGCTACGCAGGCTATGGCACCGGCCAGCACCCTCCCGGCATCTCTGACCCAGGAGTGGCCTCTTTTAAGGTGGCTCACTTGGTCCTCAAGGCTCATGCCAGAACTTGGCACCACTACAACAGCCATCATCGCCCACAGCAGCAGGGGCACGTGGGCATTGTGCTGAACTCAGACTGGGCAGAACCCCTGTCTCCAGAGAGGCCTGAGGACCTGAGAGCCTCTGAGCGCTTCTTGCACTTCATGCTGGGCTGGTTTGCACACCCCGTCTTTGTGGATGGAGACTACCCAGCCACCCTGAGGACCCAGATCCAACAGATGAACAGACAGTGCTCCCATCCTGTGGCTCAACTCCCCGAGTTCACAGAGGCAGAGAAGCAGCTCCTGAAAGGCTCTGCTGATTTTCTGGGTCTGTCGCATTACACCTCCCGCCTCATCAGCAACGCCCCACAAAACACCTGCATCCCTAGCTATGATACCATTGGAGGCTTCTCCCAACACGTGAACCATGTGTGGCCCCAGACCTCATCCTCTTGGATTCGTGTGGTGCCCTGGGGGATAAGGAGGCTGTTGCAGTTTGTATCCCTGGAATACACAAGAGGAAAAGTTCCAATATACCTTGCCGGGAATGGCATGCCCATAGGGGAAAGTGAAAATCTCTTTGATGATTCCTTAAGAGTAGACTACTTCAATCAATATATCAATGAGGTGCTCAAGGCTATCAAGGAAGACTCTGTGGATGTTCGTTCCTACATTGCTCGTTCCCTCATTGATGGCTTCGAAGGCCCTTCTGGTTACAGCCAGCGGTTTGGCCTGCACCACGTCAACTTCAGCGACAGCAGCAAGTCAAGGACTCCCAGGAAATCTGCCTACTTTTTCACTAGCATCATAGAAAAGAACGGTTTCCTCACCAAGGGGGCAAAAAGACTGCTACCACCTAATACAGTAAACCTCCCCTCCAAAGTCAGAGCCTTCACTTTTCCATCTGAGGTGCCCTCCAAGGCTAAAGTCGTTTGGGAAAAGTTCTCCAGCCAACCCAAGTTCGAAAGAGATTTGTTCTACCACGGGACGTTTCGGGATGACTTTCTGTGGGGCGTGTCCTCTTCCGCTTATCAGATTGAAGGCGCGTGGGATGCCGATGGCAAAGGCCCCAGCATCTGGGATAACTTTACCCACACACCAGGGAGCAATGTGAAAGACAATGCCACTGGAGACATCGCCTGTGACAGCTATCACCAGCTGGATGCCGATCTGAATATGCTCCGAGCTTTGAAGGTGAAGGCCTACCGCTTCTCTATCTCCTGGTCTCGGATTTTCCCAACTGGGAGAAACAGCTCTATCAACAGTCATGGGGTTGATTATTACAACAGGCTGATCAATGGCTTGGTGGCAAGCAACATCTTTCCCATGGTGACATTGTTCCATTGGGACCTGCCCCAGGCCCTCCAGGATATCGGAGGCTGGGAGAATCCTGCCTTGATTGACTTGTTTGACAGCTACGCAGACTTTTGTTTCCAGACCTTTGGTGATAGAGTCAAGTTTTGGATGACTTTTAATGAGCCCATGTACCTGGCATGGCTAGGTTATGGCTCAGGGGAATTTCCCCCAGGGGTGAAGGACCCAGGCTGGGCACCATATAGGATAGCCCACGCCGTCATCAAAGCCCATGCCAGAGTCTATCACACGTACGATGAGAAATACAGGCAGGAGCAGAAGGGGGTCATCTCGCTGAGCCTCAGTACACACTGGGCAGAGCCCAAGTCACCAGGGGTCCCCAGAGATGTGGAAGCCGCTGACCGAATGCTGCAGTTCTCCCTGGGCTGGTTTGCTCACCCCATTTTTAGAAACGGAGACTATCCTGACACCATGAAGTGGAAAGTGGGGAACAGGAGTGAACTGCAGCACTTAGCCACCTCCCGCCTGCCAAGCTTCACTGAGGAAGAGAAGAGGTTCATCAGGGCGACGGCCGACGTCTTCTGCCTCAACACGTACTACTCCAGAATCGTGCAGCACAAAACACCCAGGCTAAACCCACCCTCCTACGAAGACGACCAGGAGATGGCTGAGGAGGAGGACCCTTCGTGGCCTTCCACGGCAATGAACAGAGCTGCGCCCTGGGGGACGCGAAGGCTGCTGAACTGGATCAAGGAAGAGTATGGTGACATCCCCATTTACATCACCGAAAACGGAGTGGGGCTGACCAATCCGAACACGGAGGATACTGATAGGATATTTTACCACAAAACCTACATCAATGAGGCTTTGAAAGCCTACAGGCTCGATGGTATAGACCTTCGAGGGTATGTCGCCTGGTCTCTGATGGACAACTTTGAGTGGCTAAATGGCTACACGGTCAAGTTTGGACTGTACCATGTTGATTTCAACAACACGAACAGGCCTCGCACAGCAAGAGCCTCCGCCAGGTACTACACAGAGGTCATTACCAACAACGGCATGCCACTGGCCAGGGAGGATGAGTTTCTGTACGGACGGTTTCCTGAGGGCTTCATCTGGAGTGCAGCTTCTGCTGCATATCAGATTGAAGGTGCGTGGAGAGCAGATGGCAAAGGACTCAGCATTTGGGACACGTTTTCTCACACACCACTGAGGGTTGAGAACGATGCCATTGGAGACGTGGCCTGTGACAGTTATCACAAGATTGCTGAGGATCTGGTCACCCTGCAGAACCTGGGCGTGTCCCACTACCGTTTTTCCATCTCCTGGTCTCGCATCCTCCCTGATGGAACCACCAGGTACATCAATGAAGCGGGCCTGAACTACTACGTGAGGCTCATCGATACACTGCTGGCCGCCAGCATCCAGCCCCAGGTGACCATTTACCACTGGGACCTACCACAGACGCTCCAAGATGTAGGAGGCTGGGAGAATGAGACCATCGTGCAGCGGTTTAAGGAGTATGCAGATGTGCTCTTCCAGAGGCTGGGAGACAAGGTGAAGTTTTGGATCACGCTGAATGAGCCCTTTGTCATTGCTTACCAGGGCTATGGCTACGGAACAGCAGCTCCAGGAGTCTCCAATAGGCCTGGCACTGCCCCCTACATTGTTGGCCACAATCTAATAAAGGCTCATGCTGAGGCCTGGCATCTGTACAACGATGTGTACCGCGCCAGTCAAGGTGGCGTGATTTCCATCACCATCAGCAGTGACTGGGCTGAACCCAGAGATCCCTCTAACCAGGAGGATGTGGAGGCAGCCAGGAGATATGTTCAGTTCATGGGAGGCTGGTTTGCACATCCTATTTTCAAGAATGGAGATTACAATGAGGTGATGAAGACGCGGATCCGTGACAGGAGCTTGGCTGCAGGCCTCAACAAGTCTCGGCTGCCAGAATTTACAGAGAGTGAGAAGAGGAGGATCAACGGCACCTATGACTTTTTTGGGTTCAATCACTACACCACTGTCCTCGCCTACAACCTCAACTATGCCACTGCCATCTCTTCTTTTGATGCAGACAGAGGAGTTGCTTCCATCGCAGATCGCTCGTGGCCAGACTCTGGCTCCTTCTGGCTGAAGATGACGCCTTTTGGCTTCAGGAGGATCCTGAACTGGTTAAAGGAGGAATACAATGACCCTCCAATTTATGTCACAGAGAATGGAGTGTCCCAGCGGGAAGAAACAGACCTCAATGACACTGCAAGGATCTACTACCTTCGGACTTACATCAATGAGGCCCTCAAAGCTGTGCAGGACAAGGTGGACCTTCGAGGATACACAGTTTGGAGTGCGATGGACAATTTTGAGTGGGCCACAGGCTTTTCAGAGAGATTTGGTCTGCATTTTGTGAACTACAGTGACCCTTCTCTGCCAAGGATCCCCAAAGCATCAGCGAAGTTCTACGCCTCTGTGGTCCGATGCAATGGCTTCCCTGACCCCGCTACAGGGCCTCACGCTTGTCTCCACCAGCCA---GATGCTGGACCCACCATCAGCCCCGTGAGACAGGAGGAGGTGCAGTTCCTGGGGCTAATGCTCGGCACCACAGAAGCACAGACAGCTTTGTACGTTCTCTTTTCTCTTGTGCTTCTTGGAGTCTGTGGCTTGGCATTTCTGTCATACAAGTACTGCAAGCGCTCTAAGCAAGGGAAAACACAACGAAGCCAACAGGAATTGAGCCCGGTGTCTTCATTC', 'id': 'ENSG00000115850'}, 'dn_ds': 0.22168, 'target': {'perc_pos': 92.1121, 'protein_id': 'ENSECAP00000016483', 'taxon_id': 9796, 'cigar_line': '326MD261MD1264MD76M', 'species': 'equus_caballus', 'perc_id': 85.781, 'align_seq': 'ATGGACCCGGCTTGGAGCTCCGTCTTTATCGTCCTCCTAAGTTTTTCATGCTGGGGGTTAGACTGGGAATCTGATCCAAATTTCATTTCAGCTGCCGGTCCTTTAACGAATGACTTGCTGCACGACCTGAGCGGTCCACCGGGAAACCGGGATTCTAACTTTGTAGCAGAAGATAAAAATATTTATGTTTGTCCCCAGCCACTGCCCGCTTTCCTGCCAGAGTACTTTAGCAGTGTTTATGCCAGTCAGATCACTCATTATAAAGTATTTCTGCCATGGGCACGACTTCTCCCAGCAGGAAGCTCCAAGAACCCAGACGAGAAAACAGTGCAGTGCTACCGGCAGCTCCTTGAGGCTCTCAAGGCTGCGCAGCTTCAGCCCCTGGTCGTCCTGCACCACCAGACCCTCCCAGGCAGCACCGTCCAGAAAAGTGAAGTCTTCGCTGACCTCTTCGCTGACTATGCCACGTTTGCCTTCCACTCCTTTGGGGACCTTGTTGAGATGTGGTTTACTTTTAGCGACTTGGAGGAGGTGATCAGGGAGCTTCCCCACCAGGAATCAAGAGCCTCGCGTCTCCGGACCCTCACTGACGCCCACAGAAAAGCCTATGAGATTTACCACGAAAAATACGCTTCTCAAGGCGGCCGGCTCTCCGTGGTCCTGCGAGCTGAAGCGGTCTCGGAGCTCCTGCTGGAACCGTCCACGTCTGCGCTTGCCAAGGAGGCTGTCGATTTCCTTTCTCTGGATTTGTCTTATGAATGCCAAAACGAAGCAAGTTTACTGCAGACGCTGAGTAAATTGCAGACTATTGAGCCAAAAGTGAAAGTTTTCATCTTCAGCCTGAAACTCCAGGACTGCCCCTCCACCAGGAAGAACCCAGCCGGGCTGCTCTTCAGCCTTTTCGAAGCCATAAATAAAGACCAAGTGCTCACCATTGGCTTTGATGTTAATACTTTCCTGAGCTGTTCATCAAGTTCC---AAGGAAAGGTCTTGTTCTCTGACTGATGGCCTGACCCTTCAGACGGCCCGTGAGCGGGACCTCGAGACAGCAGGAGACTCCTCAGCCCCCAGCTCGGCCTATCAGAGAGTCTGGAGGACGTTTGCTAACCAGTCCCGGGCAGAAAGGGATGCTTTCCTGCAGGACGTCTTCCCTGAGGGCTTCCTCTGGGGCGTCTCCACGGGGGCCTTTAATGTGGAAGGGGGTTGGGCTGAGGATGGAAGGGGGGCAAGCATCTGGGACCGACTCGGGCGCCAGAACGCTGCCAAGGGCCAAGCAACGCCGGAGGTGGCCAGTGACAGTTACCACAAGGTGGCCTCGGATGTCGCCCTGCTGCGTGGCCTCCGGGCTCAGGTCTATAAGTTCTCCATCTCCTGGTCTCGCATCTTCCCTACTGGACAGGGACGCAGCCCCAGCCTGCGGGGTGTCGCCTACTACAACAAGCTGATTGACAGCCTCCTGGACTCACACATCGAGCCCATGGCCACGCTGTTCCACTGGGATCTGCCTCAGGCGCTGCAGGATCTCGGTGGATGGCAGAATGAGAGTGTGGTGGACGCCTTTCTGGACTACGCAGCCTTCTGCTTCTCCACTTTTGGGGACCGTGTGAAGCTGTGGGTGACCTTCCACGAGCCGTGGGTGATGAGCTACGCAGGCTACGGCACTGGCCAACATGCGCCGGGCATCTCCGACCCAGGGGTGGCCTCTTTTAAGGTGGCTCACATGGTCCTCAAGGCTCATGCCAGAGCTTGGCACCACTACAAC---CACCATCGCCCACAGCAGCAGGGACGCGTGGGCATCGTGCTGAACTCAGATTGGGCAGAACCCCTGTCTCCAGAGAGGCCCGAGGACCTGAGAGCCTCTGAGCGCTTCTTGCAGTTCATGCTGGGCTGGTTTGCACACCCTATCTTTGTGGATGGAGACTATCCAGCTGCCCTGAGGGCTCAGATTCAACAGATAAACAAACAGTGCCCCAGTCCTGTGGCCCAGCTCCCTGAGTTCACTGAGGCAGAGAAGCAGCTCCTGAAAGGCTCTGCTGATTTTCTAGGTCTGTCGCATTACACTTCCCGCCTCATCAGCAAGGCCCAACAAGATACCTGCATCCCCAGCTACGATACCATCGGAGGCTTCTCACAACACATGGACCCTGCGTGGCCTCAGACCTCATCTCCTTGGATTCGTGTGGTGCCCTGGGGTATTAGGAGGCTATTGCTCTTTGTATCCTTGGAATACACAAGAGGAAAAGTTCCGATCTACCTGGCTGGGAATGGCATGCCCATAGGGGAAAGTGAAGATCTCTTTGATGATTCCTTCAGAGTAAACTACTTCAATCAATATATCAGTGAGGTGCTCAAGGCTGTCAAGGAGGACTCGGTGGATGTTCGATCTTATATTGCTCGTTCCCTCATCGATGGCTTCGAAGGCCCCTCCGGTTACAGCCAGAGGTTTGGGCTACACCATGTCAACTTCAACGACAGCAGCAAGCCAAGGACCCCCAGGAAATCTGCCTACTTTTTCACCAGCATCATTGAAAAGAATGGTTTCCTCACCAAGGCAGTCAAAAGACTGGCGCCACCCAGTACAGCAAACATCTCCCCTAAAATCAGAGCCTTCACTTTTCCATCCGAGGTGCCCTCCAAGGCTAAAGTAGTTTGGGAAAAGTTCTCCAACCAACCCCAGTTTGAAAGGGATTTGTTCTACCACGGCACGTTCCGAGATGACTTTCTGTGGGGTGTGTCTTCATCAGCCTATCAGATTGAAGGAGCTTGGGATGCTGACGGCAAAGGTCCCAGCATTTGGGATAATTTTACCCACACACCAGGGAGCCATGTGAAAGACAATGCCACCGGAGACATAGCCTGTGACAGCTATAACCAATTGGATGCTGATCTGAACATGCTTCGAGCTCTGAAAGTGAACGCCTATCGCTTCTCTATCTCCTGGTCTCGGATTTTCCCAACTGGGAGAAACAGTTCTATCAACAGACTTGGCGTTGATTATTACAATAGGCTGATCGATGCCTTGATAGCAAGCAACATCTCTCCCATGGTGACACTGTTCCACTGGGACCTGCCCCAGGCTCTCCAGGATATTGGAGGCTGGGAGAATCCTTCCTTGATTGAGTTGTTTAACAGCTATGCAGACTTTTGTTTCCAGACCTTTGGTGACAGAGTCAAGTTCTGGATGACCTTTAATGAGCCCATGCACCAGGCGTGGTTGGGTTACGGCTCAGGGGAATTTCCCCCAAACATTCAGGACCCAGGCTCGGCACCTTACAGGATTGGCCATGCAGTCATCAAAGCTCATGCTACAGTCTATCACACCTATGATGAGAAATACAGGCAGGAGCAGAAGGGAGTCATCTCTCTGAGCCTTAGTGCATTCTGGGCAGAGCCCAAGTCACCAGAGGTCCCCAGGGATGTGGAGGCAGCTGACCGAATGCTGCAGTTCTCACTGGGCTGGTTCGCCCACCCCATTTTCCGAAATGGAGATTATCCCGAGGTCATGAAGTGGAAAGTGGGGAACAGGAGTGAACTACAGCACTTAGCCACCTCCCGCCTGCCGAGCTTCACTGAGGAGGAGAAGCGGTACATCAGCGCTACAGCTGATGTGTTCTGCCTCAACACCTACTCCTCCAGAATCGTGCAGCATACCACACCCAATTTAAACCCACCCTCCTACGAATATGACCAGGAGATGACCGCGGAAGAGGATCCTTCATGGCCGTCCACAGCACTAAACAGAGCTGCGCCCTGGGGGATGCGAAGACTGCTCAACTGGATCAAAGAAGAGTATGGTGACATCCCCATTTACATCACTGAAAATGGGGCGGGGCTGACAAATCCGGAAGTGGAAGATACTGATAGGATGTTCTACCACAAAACCTACATCAATGAAGCTTTGAAAGCCTACAGGCTCGATGGTGTCGACCTTCGAGGGTATGCTGCGTGGTCTCTGATGGACAACTTTGAGTGGGTGAATGGCTACACAATCAAGTTTGGACTATATCATGTTGATTTCAATAATGCGAACAGGCCTCGTACAGCAAGAACCTCAGCCGGGTACTACACAGAGGTCATTACCAACAACGGCATGCCAGCGGCCAAGGAAGATGAGTTTCTCTACGGACAGTTCCCCGAGGGCTTCGCCTGGAGTGCAGCTACCGCTGCATATCAGATCGAAGGTGCGTGGAGAGAAGATGGCAAAGGACTCAGTATTTGGGACACGTTCTCTCACACACCACTGAAGGTTGAGAACAGTGACACTGCAGACGTGACCTGTGACAGTTATCACAAGATTGCTGAGGATGTGGTCGCCCTGCAGAACCTGGGCGTGACCCACTATCGCTTATCCATCTCTTGGACTCGCATCCTCCCTGATGGAACCACCAAGTACATCAATGAAGCGGGGCTGAACTACTACGTGCGGCTCATTGATGCACTGCTGGCTGCCAACATCAAGCCCCAGGTGACCCTGTACCACTGGGACCTGCCCCAGGCGCTCCAGGATGTTGGAGGCTGGGAGAACGAGACCATTGTGCAGCACTTTAAAGAGTATGCAAATGTGGTCTTCCAGAGGCTGGGGGACAAGGTGAAGTTTTGGATCACGCTGAATGAGCCCTTTGTCGTTGTTACCCAGGGCTATGGCTACGGGACAGCAGCTCCAGGAATCTCCTCTAGGCCTGGCACTGCCCCCTACCTTGCTGGCCACAACCTGCTAAAGGCTCACGCCGAGGCCTGGCATCTGTACAATGACGTATACCGCGCCAGTCAAGGCGGCACGATTTCCATCACCCTCAACTGTGAGTGGGCTGAGCCCCGAAACCCCTCCAACCAGGAGGATGTGGAGGCGGCCAGGAGATACGTCGAGTTTATGGGAGGCTGGTTTGCACATCCTGTTTTCAAGAATGGAGATTACAGTGAACTGATGAAGACTCGGATCCGTGACCGGAGCCTGGCCGCAGGCCTCAACCAGTCTCGGCTCCCAGAGTTCACGGAGGCTGAGAAGAGGAGGATCAACGGCACCTACGACTTTTTTGGCTTCAATTACTACACCACTGTCCTGGCCTACAATCTCGACTATGACTCTTCCGTCTCTTCCTTTGATGCAGACAGGGGAGTCGCCTCCACCGCAGATCCCTCTTGGCCAGTCTCTGGCTCCTCCTGGCTGAAGATGACCCCTTTTGCCTTCCGGAGGATCCTGAACTGGTTAAAGGAGGAATACAACAACCCTCCAATTTACGTGACAGAGAATGGAGTGTCCAAACGGGGAGAAACAGACCTCAACGACACTGCACGGATCTACTTCCTCCGCACTTACATCAACGAGGCACTCAAAGCTGTGCAGGATAAGGTGGACCTTCGAGGATACACGGTTTGGACTCTGATGGACAACTTTGAGTGGGCCACAGGCTACTCGGAGAGGTTTGGTCTGTATTTTGTAAACTACAGTGACCCTTCTCTGCCAAGGATCCCCAGAGCATCAGCCAAGTTCTTCGCCTCTATAACCCGGTGCAACGGCTTCCCTGACCCTGCCACAGGGCCACACCCTTGTCTC---CAGCAGGAAGATGCTGGACCCACCGTCAGCCCTGTGAGAGAGGAGGCAGTTCAGTTCCTGGGGCTCTCGCTAGGTACGACAGAAGCCCAGACAGCTCTGTACGTACTCTTTGCTCTCATGCTTCTTGGAGTCTGTGGTGTGGCATTTCTGTCATATAAATACTGTAAGCGCTCCAAGCGGGGGAAAACACAACCAGGTCAACAGGAATTGAGCCCTGCTTCTTCATTC', 'id': 'ENSECAG00000018594'}, 'taxonomy_level': 'Eutheria', 'type': 'ortholog_one2one', 'method_link_type': 'ENSEMBL_ORTHOLOGUES'}\n",
      "Eutheria\n",
      "peromyscus_maniculatus_bairdii\n",
      "microtus_ochrogaster\n",
      "mus_pahari\n",
      "sus_scrofa\n",
      "mus_caroli\n",
      "myotis_lucifugus\n",
      "bos_taurus\n",
      "mus_musculus\n",
      "vicugna_pacos\n",
      "echinops_telfairi\n",
      "sus_scrofa\n",
      "ictidomys_tridecemlineatus\n",
      "ailuropoda_melanoleuca\n",
      "pteropus_vampyrus\n",
      "microtus_ochrogaster\n",
      "mustela_putorius_furo\n",
      "peromyscus_maniculatus_bairdii\n",
      "felis_catus\n",
      "mesocricetus_auratus\n",
      "tursiops_truncatus\n",
      "carlito_syrichta\n",
      "microtus_ochrogaster\n",
      "microcebus_murinus\n",
      "jaculus_jaculus\n",
      "capra_hircus\n",
      "rattus_norvegicus\n",
      "cricetulus_griseus_chok1gshd\n",
      "nannospalax_galili\n",
      "sorex_araneus\n",
      "cricetulus_griseus_crigri\n",
      "chinchilla_lanigera\n",
      "cavia_aperea\n",
      "erinaceus_europaeus\n",
      "cavia_porcellus\n",
      "octodon_degus\n",
      "dipodomys_ordii\n",
      "heterocephalus_glaber_female\n",
      "heterocephalus_glaber_male\n",
      "choloepus_hoffmanni\n",
      "dasypus_novemcinctus\n",
      "fukomys_damarensis\n",
      "oryctolagus_cuniculus\n",
      "oryctolagus_cuniculus\n",
      "oryctolagus_cuniculus\n",
      "fukomys_damarensis\n",
      "ochotona_princeps\n",
      "sarcophilus_harrisii\n",
      "monodelphis_domestica\n",
      "notamacropus_eugenii\n",
      "ornithorhynchus_anatinus\n",
      "ornithorhynchus_anatinus\n",
      "pelodiscus_sinensis\n",
      "anolis_carolinensis\n",
      "taeniopygia_guttata\n",
      "meleagris_gallopavo\n",
      "gallus_gallus\n",
      "anas_platyrhynchos\n",
      "ficedula_albicollis\n",
      "xenopus_tropicalis\n",
      "xenopus_tropicalis\n",
      "latimeria_chalumnae\n",
      "danio_rerio\n",
      "takifugu_rubripes\n",
      "oreochromis_niloticus\n",
      "gasterosteus_aculeatus\n",
      "astyanax_mexicanus\n",
      "xiphophorus_maculatus\n",
      "oryzias_latipes\n",
      "lepisosteus_oculatus\n",
      "takifugu_rubripes\n",
      "poecilia_formosa\n",
      "xiphophorus_maculatus\n",
      "gasterosteus_aculeatus\n",
      "takifugu_rubripes\n",
      "gadus_morhua\n",
      "danio_rerio\n",
      "poecilia_formosa\n",
      "tetraodon_nigroviridis\n",
      "petromyzon_marinus\n",
      "ciona_savignyi\n",
      "ciona_savignyi\n",
      "ciona_intestinalis\n",
      "caenorhabditis_elegans\n",
      "caenorhabditis_elegans\n",
      "drosophila_melanogaster\n"
     ]
    }
   ],
   "source": [
    "hom_response = do_request(ensembl_server, 'homology/id', lct_id, type='orthologues', sequence='none')\n",
    "#print(hom_response['data'][0]['homologies'])\n",
    "homologies = hom_response['data'][0]['homologies']\n",
    "for homology in homologies:\n",
    "    print(homology['target']['species'])\n",
    "    if homology['target']['species'] != 'equus_caballus':\n",
    "        continue\n",
    "    print(homology)\n",
    "    print(homology['taxonomy_level'])\n",
    "    horse_id = homology['target']['id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'source': 'ensembl', 'object_type': 'Gene', 'logic_name': 'ensembl', 'version': 1, 'species': 'equus_caballus', 'description': 'lactase [Source:VGNC Symbol;Acc:VGNC:19613]', 'display_name': 'LCT', 'assembly_name': 'EquCab2', 'biotype': 'protein_coding', 'end': 19657160, 'seq_region_name': '18', 'db_type': 'core', 'strand': -1, 'id': 'ENSECAG00000018594', 'start': 19610968}\n"
     ]
    }
   ],
   "source": [
    "horse_req = do_request(ensembl_server, 'lookup/id', horse_id)\n",
    "print(horse_req)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#maybe synteny of MCM6 and LCT with caballus and gorilla"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
